2017-01-13 92 views
0

我如何验证表格的角度?因为我有下面的表格,其中使用https://github.com/danialfarid/ng-file-upload所有的领域是必需的。停止提交表格,除非填写所有字段

问题是,当我点击提交它显示一个提示说该字段是必需的,但表单被提交。我想停止提交,除非填写所有字段。

而我该如何让用户只从配置文件输入中选择图像?按钮时,虽然我加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

名称添加到您的窗体(所以你可以参考它),改变你的堂妹NG-点击NG-提交表单本身,如果表单无效,则将提交更改为type =“submit”+ ng-disabled的按钮元素

<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 on the button is fine,too。但按钮应该是一个提交按钮,因为你正确地做你的答案。 –

+0

是的,如果您不想使用回车键提交表单,ng-click通常是可以的 - 但例如在登录表单中,您希望启用按enter键在输入用户名+密码后提交表单,这将不起作用用ng-click编辑:Nevermind,ng-click很好! – Fissio

+0

对于ng-click也能正常工作。 https://docs.angularjs.org/api/ng/directive/form –

相关问题