Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何防止角度表单在无效时被发送到php文件(method=";post";)?_Php_Angularjs_Forms - Fatal编程技术网

如何防止角度表单在无效时被发送到php文件(method=";post";)?

如何防止角度表单在无效时被发送到php文件(method=";post";)?,php,angularjs,forms,Php,Angularjs,Forms,我猜在这种情况下,Angular的默认设置是添加ng disabled to submit按钮。如果是这样,用户可能会被警告每个输入中的错误,但错误会立即显示出来。是否有一种方法(通过控制器中的函数或其他方式)仅在onclick之后显示错误,而不实际提交表单并在表单无效时发送给php HTML <form name="myForm"> <input type="text" name="textField" ng-model="textField"/>

我猜在这种情况下,Angular的默认设置是添加ng disabled to submit按钮。如果是这样,用户可能会被警告每个输入中的错误,但错误会立即显示出来。是否有一种方法(通过控制器中的函数或其他方式)仅在onclick之后显示错误,而不实际提交表单并在表单无效时发送给php

HTML

   <form name="myForm">
         <input type="text" name="textField" ng-model="textField"/>
         <md-button type="button"
                    class="btn-width-medium md-raised md-primary" 
                    ng-click="validateForm()">
                Save
         </md-button>
    </form

关于这个主题,有大量的文档,这些文档太宽了,无法用一个单一的答案来回答:是的,我知道这种方法,但是这样做你不能调用检查表单并显示错误的函数。我想实际单击按钮(即使有错误)检查表单是否有错误并显示错误,但如果表单无效,则不提交表单(对php文件执行post操作)。如果要在提交后检查错误,请从表单中删除submit属性。我正在更新我的答案检查一下。谢谢,这是一个很好的观点。但是,如何仅在表单有效时在validateForm函数中触发submit?根据docks:ngSubmit“阻止默认操作(对于表单意味着将请求发送到服务器并重新加载当前页面),但前提是表单不包含操作”,因此ngSubmit不会与同一表单中的action=“something.php”一起工作。感谢您的帮助:-)
.controller("controller",function($scope){
   $scope.validateForm = function(){
      // Do validation here
      // If valid 
         // Submit form - post data
      // Else invalid
         // Show message and return
   };
});