2017-01-13 2 views
0

Как проверить форму в угловом формате? Coz i имеет следующую форму, которая использует https://github.com/danialfarid/ng-file-upload, где требуются все поля.Остановить отправку формы, если все поля не заполнены

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

И как я могу позволить пользователю выбирать только изображения из ввода профиля? сог, когда хотя я добавить ng-accept="image/*" не работает

<form enctype="multipart/form-data" method="post" > 
<input type="text" ng-model="name" required> 
<input type="text" ng-model="age" required> 
<input type="text" ng-model="title" required> 
<input type="file" name="profile_pic" ng-file-select="onFileSelect" required> 
<input type="file" name="document" ng-file-select="onFileSelect2" required> 
<input type='button' ng-click='onFormSubmit(onFileSelect,onFileSelect)' value='Submit'> 
</form> 

Угловое

angular.module('myApp', ['ngFileUpload']); 

var MyCtrl = [ '$scope', 'Upload', function($scope, Upload) { 
    $scope.onFileSelect = function(file) { 

Upload.upload({ 
    url: 'api/upload-data.php', 
    method: 'POST', 
    file: file, 
    data: { 
     'name': $scope.name, 
     'age' : $scope.age , 
     'title' : $scope.title , 


    } 
}) 

    }; 
}]; 
+1

Дайте имя вашей формы (скажем, «Myform»), дать имя к каждому из его входов, и используйте '< Кнопка ng-disabled = "myForm. $ invalid"> ' –

ответ

3

Добавить имя в форму (так что вы можете ссылаться на него), измените нг нажмите на кнопку, чтобы нг подать на сам, и изменить представить в кнопочном элемент с типом формы = «подать» + нг-инвалидами, если форма является недействительной

<form name="myForm" enctype="multipart/form-data" method="post" ng-submit="onFormSubmit(onFileSelect,onFileSelect)" > 
    <input type="text" ng-model="name" required> 
    <input type="text" ng-model="age" required> 
    <input type="text" ng-model="title" required> 
    <input type="file" name="profile_pic" ng-file-select="onFileSelect" required> 
    <input type="file" name="document" ng-file-select="onFileSelect2" required> 
    <button type="submit" ng-disabled="myForm.$invalid">Submit</button> 
</form> 
+0

ng-click на кнопке тоже хорошо. Но кнопка должна быть кнопкой отправки, как вы правильно делаете в своем ответе. –

+0

Да, ng-click вообще нормально, если вы не хотите отправлять формы с помощью клавиши ввода - но, например, в формах входа, которые вы хотите включить, нажмите enter, чтобы отправить форму после ввода имени пользователя + пароль, который не будет работать с ng-click EDIT: Nevermind, ng-click отлично! – Fissio

+0

Это нормально работает с ng-click. https://docs.angularjs.org/api/ng/directive/form –

Смежные вопросы