Как я могу вызвать ошибку при подаче? Предположим, что мы получили форму, состоящую из имени, электронной почты, пароля. Мы проверяем uniqness по электронной почте на стороне сервера, и сервер отправляет объект, например, {email: ['уже принят', 'другая ошибка'] и т. Д. Как я могу использовать форму и запускать ее в полях?Угловые формальные пусковые ошибки
ответ
Звучит так, как будто вы хотите выполнить асинхронную проверку поля ввода. Я предполагаю, что вы хотите сделать что-то вроде this.
Для конкретного решения см это Blog
@Elrond использует угловую форму, которая имеет простой API '' validators'', который использует API '$ asyncValidators' под капотом. Этот ответ велик для нормальных угловых форм и может работать с угловым формально, но есть более простой способ. – kentcdodds
Не очень, асинхронный валидатор в порядке - он будет действовать «на лету», но к тому моменту, когда пользователь нажмет «отправить», многое может случиться. Окончательная проверка выполняется на стороне сервера и при необходимости возвращает объект с ошибками. Я могу получить этот ответ и отобразить его в окне предупреждения или somthing, но было бы здорово привнести некоторый стиль ошибки в поля с ошибками и т. Д. В Essens мне нужна некоторая функция tap, чтобы сделать makeInvalid (fieldKey) и т. Д. ... там что-то угловато-формально? – Elrond
Я вижу, - не знал, угловато-мерно ..
вы можете позвонить службу validaton в Автошоу asyncValidator и мерно затем проанализировать результат и вручную установить состояние проверки в поле с использованием scope.fc.$setValidity
. Сообщения могут быть зарегистрированы в разделе validation
.
validators: {
asyncMultiValidator: {
expression: function(viewValue, modelValue, scope) {
$http.get('...validation-url...').success(function(result) {
//assuming the service returns a map of validation results as {'validationName': isValid (boolean) }
angular.foreach(result, function(isValid, validationName) {
scope.fc.$setValidity(validationName, isValid);
});
})
// this dummy validator is always valid
return true;
},
message: 'dummy message - not being used'
}
},
validation: {
messages: {
required: function(viewValue, modelValue, scope) {
return scope.to.label + ' is required'
},
remote: function(viewValue, modelValue, scope) {
return 'some remote error';
}
}
Если форма проходит всю локальную и удаленную проверку на стороне клиента, то она действительна – Michael
И как насчет этого сценария: форма передает всю проверку на стороне клиента и отправляется на бэкэнд - здесь бэкэнд пытается сохранить, но проверка завершается с ошибкой и возвращает объект {'email': ['email already taken']} - с этого момента я хотел бы передать это формально, чтобы вызвать эту ошибку. Я НЕ хочу проверять этот асинхронный (на лету), но после отправки. – Elrond
Я попытался запустить signup.form. $ SetValidity ('email', false); и это снова отключит кнопку отправки, но поле электронной почты не изменится на состояние ошибки, а также сделать отправку включенной снова невозможно. – Elrond
- 1. Глобальные Угловые формальные проверки
- 2. Угловые ошибки CLI ng Ошибки
- 3. XAudio2, пусковые/остановочные циклы?
- 4. Угловые ошибки JavaScript
- 5. Угловые js уменьшают ошибки
- 6. Угловые обещания и ошибки
- 7. Угловые ошибки Входы
- 8. Пусковые установки для windows phone
- 9. Карманные пусковые установки HTML5 API
- 10. Пусковые кнопки в содержащем iframe
- 11. Пусковые переключатели Bootstrap в скроллере
- 12. Ошибки конструктора (фактические и формальные списки аргументов различаются по длине)?
- 13. ng-include вызывает угловые ошибки
- 14. Угловые ошибки 2 при загрузке
- 15. Угловые 2 AoT Heep Ошибки
- 16. Угловые $ http изящно обрабатывающие ошибки
- 17. Угловые 2 Ошибки типа текста
- 18. Угловые ошибки JJ перед проверкой
- 19. Java Общие формальные параметры
- 20. Automata и Формальные Языки
- 21. Формальные языки - грамматика
- 22. Пусковые установки для командной строки Java
- 23. динамически загружать формальные опции типа
- 24. Формальные определения классов и структур
- 25. void * использование для функции формальные аргументы
- 26. Две пусковые установки для одной активности
- 27. Пусковые Nokia Music в Windows Phone 8
- 28. Пусковые массивы в один массив JSON
- 29. Угловые ошибки JS $ и утечки памяти
- 30. Угловые 2 - npm3 установить typyings ошибки
У вас есть какой-либо код, который вы можете показать нам о ваших предыдущих попытках? –
Я рекомендую вам дать этот бесплатный урок egghead.io: https://egghead.io/lessons/angularjs-angular-formly-custom-validation?pl=advanced-angular-forms-with-angular-formly – kentcdodds