Angular Schema Form - "обязательный", не работающие поля select и checkbox
Я новичок в форме угловой схемы и у меня есть некоторые проблемы с select
а также checkbox
поля required
Проверка.
Под $scope.schema
У меня есть поле выбора с именем designation
:
"designation": {
"title": "Designation",
"type": "select",
"default": undefined
}
$scope.form
(объявление designation
а также agreeTerms
):
{
"key": "designation",
"type": "select",
"title": "Designation",
"titleMap": [
{ value: undefined, name: "Select a designation" }, // first value
{ value: "Andersson", name: "Andersson" },
{ value: "Johansson", name: "Johansson" },
{ value: "other", name: "Something else..."}
]
},
{
"key": "agreeTerms",
"type": "checkbox",
"title": "I agree to ..."
}
И то и другое designation
а также agreeTerms
определены в схеме required
имущество.
Когда я отправляю форму, оба поля проходят required
Проверка. Я ожидаю, что пользовательский интерфейс покажет Required
сообщения под / после полей. Этого не происходит.
Вещи, которые я пробовал:
- назначить первое значение поля выбора
''
а такжеnull
и сопоставьте это со значением схемы по умолчанию. - изменить
select
тип поля доobject
в схеме; это сработало и прошло необходимую проверку, но свойство не отображалось в модели
Пожалуйста помоги:)
1 ответ
Вам нужно изменить тип схемы на string
как select
неверная схема type
имущество.
"designation": {
"title": "Designation",
"type": "string",
"default": undefined
}
Тогда в вашем теге формы вы должны иметь ng-submit = "submitForm (ngform, modelData)":
<form sf-schema="schema" sf-form="form" sf-model="model" ng-submit="submitForm(ngform,modelData)" sf-options="option"></form>
Затем в вашем контроллере вы можете транслировать при подтверждении:
$scope.submitForm = function(form) {
// First we broadcast an event so all fields validate themselves
$scope.$broadcast('schemaFormValidate');
};