У меня есть html-форма, и я добавляю валидацию к каждому входу внутри, используя угловые js.Угловая js set form to Pristine false
Но я не хочу показывать ошибку проверки первоначально, когда html загружается, пока пользователь не внесет некоторые изменения в форму.
Так что я валидацию как:
<form name="addApplicationForm" accept-charset="UTF-8" novalidate>
<input type="text" name="name" ng-model="applicationData.application_name" required>
<div ng-show="addApplicationForm.name.$invalid && !addApplicationForm.name.$pristine">
<span class="error" ng-show="addApplicationForm.name.$error.required">Please enter application name.</span>
</div>
<button ng-click="submit()">Submit</button>
</form>
И эта форма работает, как я ожидал. Теперь, если пользователь нажимает кнопку «Отправить» без внесения каких-либо изменений во вход, состояние $ netist по-прежнему истинно, и теперь отображается ошибка. Но здесь я хочу показать ошибку проверки правильности.
Именно поэтому в submit, я хочу установить $ первозданное состояние формы в false, но я не вижу метода для него.
Я также попытался с $ загрязнен вместо $ нетронутым, как:
<form name="addApplicationForm" accept-charset="UTF-8" novalidate>
<input type="text" name="name" ng-model="applicationData.application_name" required>
<div ng-show="addApplicationForm.name.$invalid && !addApplicationForm.name.$dirty">
<span class="error" ng-show="addApplicationForm.name.$error.required">Please enter application name.</span>
</div>
<button ng-click="submit()">Submit</button>
</form>
А представить я просто вызвать метод SetDirty сделать форму грязной и, таким образом, он показывает ошибку на кнопку мыши представить.
Но здесь проблема в том, что у меня также есть кнопка сброса в форме. После щелчка, я хочу очистить все поля формы, а затем мне нужно сделать флагом грязной формы в false, но у меня нет такой опции. Но для этого случая, если я использую $ первозданный, у меня есть $ setPristine().
Так что в этом случае, независимо от того, что я использую $ грязный или нетронутый, у меня есть одна проблема.
Скажите, пожалуйста, какое решение может быть.
Если ответа недостаточно, предоставьте минимальный рабочий фрагмент с помощью кнопки отправки и возврата. – zoom