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');
};
Другие вопросы по тегам