Какая библиотека проверки хорошо сочетается с Backbone.js?

Поскольку мы используем Backbone, мы на самом деле не отправляем формы на сервер каждый раз, когда открываем пользовательский интерфейс, чтобы пользователь мог ввести некоторые данные. Но некоторые из популярных фреймворков проверки предполагают, что у вас есть

для различных входных данных (а у нас нет), и что вы собираетесь отправить эту форму (я нет).

Какая структура проверки хорошо сочетается с чем-либо и позволяет мне запускать, когда она проверяет и не заботится о том, находятся ли мои элементы управления в форме или нет?

27
задан Nickolay 23 October 2011 в 00:34
поделиться

3 ответа

Интересный вопрос. Мне не повезло найти 100% -ное решение самостоятельно, поэтому не рассматривайте это как прямой ответ на ваш вопрос, но это может помочь, как это может быть решено лучше всего IMO.

Для меня лучше всего подойдут правила валидации, полностью определенные в Json, с декларативной валидацией-построителем как на стороне клиента, так и на стороне сервера, которая будет строить правила из определения. Это включит проверку DRY (сервер / клиент).

JSON-схема довольно ограничена для этого.

Я считаю, что Kansojs.org имеет довольно хорошее определение JSON для проверки, но мне еще не приходилось сталкиваться с разработчиками, которые его реализуют.

Я поднял вопрос об этом некоторое время назад, но я боюсь, что мой подобный эссе вопрос не вызвал ответа :) СУХАЯ проверка ввода пользователя (клиентская сторона, серверная сторона) с использованием JSON-схемы

надеюсь, что это помогает некоторым, Герт-Ян

3
ответ дан 28 November 2019 в 05:56
поделиться

Зачем использовать и переопределять исходную точку входа проверки Backbone? Вот ссылка на документацию:

http://backbonejs.org/#Model-validate

А из документации:

validatemodel.validate(attributes, options) 

Этот метод оставлен неопределенным, и вам рекомендуется переопределить его любой имеющейся у вас логикой проверки, которая может быть выполнена в JavaScript.

По умолчанию проверки сохранения проверяются перед установкой каких-либо атрибутов, но вы также можете указать set для проверки новых атрибутов, передав {validate: true} в качестве опции.

Метод validate получает атрибуты модели, а также любые параметры, переданные для установки или сохранения. Если атрибуты действительны, не возвращайте ничего из validate; если они неверны, верните ошибку по вашему выбору.

Это может быть просто отображаемое сообщение об ошибке строки или полный объект ошибки, который программно описывает ошибку. Если validate возвращает ошибку, сохранение не будет продолжено, а атрибуты модели не будут изменены на сервере. Неудачные проверки вызывают «недопустимое» событие и устанавливают свойство validationError в модели со значением, возвращаемым этим методом.

- Также используйте и переопределите эти две функции:

validationErrormodel.validationError 

Значение, возвращаемое validate во время последней неудачной проверки.

isValidmodel.isValid() 

Запустите команду validate, чтобы проверить состояние модели.

0
ответ дан 28 November 2019 в 05:56
поделиться

Мы недавно сталкивались с этой библиотекой: https://github.com/thedersen/backbone.validation

По крайней мере, на бумаге это выглядит великолепно. Это не требует форм, а, казалось бы, вполне счастливы для проверки на уровне модели. Он также имеет некоторую простую возможность обновлять элементы в представлении для отражения ошибок при проверке, если в модели имеется простое сопоставление между элементом и атрибутом.

Как только у нас будет возможность тщательно изучить его, я вернусь и дополню его дополнительной информацией.

1
ответ дан 28 November 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: