Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.10.2018, 21:19
Аспирант
Отправить личное сообщение для Altai Посмотреть профиль Найти все сообщения от Altai
 
Регистрация: 24.11.2013
Сообщений: 37

Как на фронте провалидировать данные, пришедшие с бэка?
Что-то не могу понять в какую сторону копать. Бывает что на бэке программист никому ничего не сказав, производит рефакторинг (убираем моральную сторону этого вопроса, мол должен предупреждать, и т.д. Берём худший вариант, когда бэк незаменим и повлиять на его поведение никак не выходит). Паралельно на фронте ведутся свои работы. В итоге уходит n-ное кол-во времени, чтоб выяснить, кто наделал каку. Каким образом можно автоматизировать проверку пришедших данных на нужные поля, их тип и т.д.
И сразу ещё один вопрос - как провалидировать данные, если есть условие. Например если в JSON-чике есть поле "someField" - то подставлять одну валидацию. Если вместо него "anotherField" - то другую валидацию
Ответить с цитированием
  #2 (permalink)  
Старый 18.10.2018, 22:40
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

TypeScript, Flow, prop-types )... фронт-то на чем?
Ответить с цитированием
  #3 (permalink)  
Старый 19.10.2018, 07:05
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Цитата:
TypeScript, Flow, prop-types
Ему это не поможет, потому что все эти штуки работают в runtime, т.е. при первом запуске системы.
Ответить с цитированием
  #4 (permalink)  
Старый 19.10.2018, 09:01
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

prop-types нет ), в том смысле если подпихнуть объект, который не соответствует описанию, то в консоле будет еррор, что типа такой-то объект не содержит то-то, или то-то не в том формате...

Последний раз редактировалось SuperZen, 19.10.2018 в 09:14.
Ответить с цитированием
  #5 (permalink)  
Старый 19.10.2018, 10:01
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Сообщение от SuperZen Посмотреть сообщение
prop-types нет ), в том смысле если подпихнуть объект, который не соответствует описанию, то в консоле будет еррор, что типа такой-то объект не содержит то-то, или то-то не в том формате...
Действительно это штуку можно использовать даже отдельно от React`a, вызывая каждый раз при ответе от сервера, но только в dev режиме https://github.com/facebook/prop-typ...opTypes.js#L42
Ответить с цитированием
  #6 (permalink)  
Старый 19.10.2018, 12:23
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

хорошая мысля приходит на посля, и тут подумалось об xsd для json, и вот оно http://json-schema.org/
Ответить с цитированием
  #7 (permalink)  
Старый 19.10.2018, 15:51
Аспирант
Отправить личное сообщение для Altai Посмотреть профиль Найти все сообщения от Altai
 
Регистрация: 24.11.2013
Сообщений: 37

Сообщение от SuperZen Посмотреть сообщение
TypeScript, Flow, prop-types )... фронт-то на чем?
Фронт на реакте. И вместо prop-types мы юзаем флоу, который, как сказал destus, выполняется в runtime.
JSON Schema - тоже начал копать в сторону этого варианта. Случайно нету опенсорс примеров, с использованием JSON Schema в React приложении?
p.s. Нашел ещё вот такое чудо-юдо - https://github.com/mozilla-services/...sonschema-form, может кому-то будет полезным
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать данные из одинаковых форм php скрипту через AJAX? griga999 AJAX и COMET 28 10.10.2016 06:09
как с помощью javascript взять данные из одного файла html и закинуть в другой? rusik Общие вопросы Javascript 10 08.08.2016 12:11
Как вставить данные в highcharts? user71 Общие вопросы Javascript 40 08.08.2016 03:31
Как из php файла передать данные в переменную javascript angelzzz Общие вопросы Javascript 36 01.07.2016 15:54
Как отправлять обновленные данные определенному .json файлу? ratatyq Node.JS 0 16.04.2016 15:06