Angularjs 使用Angular验证单选按钮选择

Angularjs 使用Angular验证单选按钮选择,angularjs,radio-button,Angularjs,Radio Button,我被要求在网页上显示是/否单选按钮。在初始状态下,这两个选项均未选中。需要进行验证,以确保用户选择其中一个。我可以使用浏览器自己的表单验证来实现这一点,如下所示: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Example - example-radio-input-directive-production</title>

我被要求在网页上显示是/否单选按钮。在初始状态下,这两个选项均未选中。需要进行验证,以确保用户选择其中一个。我可以使用浏览器自己的表单验证来实现这一点,如下所示:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Example - example-radio-input-directive-production</title>
  <script src="angular.min.js"></script>  
</head>
<body ng-app="radioExample">
   <script>
   angular.module('radioExample', [])
     .controller('ExampleController', ['$scope', function($scope) {      
       $scope.submitForm = function() {
         alert('valid');
   }       
 }]);
 </script>
 <form name="myForm" ng-submit="submitForm()" ng-controller="ExampleController" novalidate>
   <input name="question" type="radio" ng-model="question" value="yes" required>Yes<br/>
   <input name="question" type="radio" ng-model="question" value="no">No<br/>
   <pre>myForm.question.$error = {{ myForm.question.$error | json }}</pre>
   <div ng-messages="myForm.question.$error" role="alert">
       <div ng-message="required">You did not enter a field</div>
   </div>
   <button type="submit">Submit</button>
</form>
</body>
</html>

示例-示例无线电输入指令生成
angular.module('radioExample',[])
.controller('ExampleController',['$scope',函数($scope){
$scope.submitForm=function(){
警报(“有效”);
}       
}]);
是

myForm.question.$error={{myForm.question.$error | json} 您没有输入字段 提交
我希望能够使用Angular在ng消息中显示验证消息,但我正在努力使其正常工作:

<form ng-app="radioExample"  ng-controller="ExampleController" name="myForm"  novalidate ng-submit="submitForm()">
    <input name="question" type="radio" ng-model="question" value="yes" required>Yes<br/>
    <input name="question" type="radio" ng-model="question" value="no">No<br/>
    <pre>myForm.question.$error = {{ myForm.question.$error | json }}</pre>
    <div ng-messages="myForm.question.$error" role="alert">
        <div ng-message="required">You did not enter a field</div>
    </div>

    <input class="btn" type="submit" value="Submit">
</form>

示例-示例无线电输入指令生成
angular.module('radioExample',[])
.controller('ExampleController',['$scope',函数($scope){
$scope.submitForm=function(){
警报(“有效”);
}       
}]);
是

myForm.question.$error={{myForm.question.$error | json} 您没有输入字段 提交
我做错了什么?

我不认为“必需”对无线电输入有效。因此,这里并没有真正指定浏览器/角度行为。所以问题是,表单是有效的。下面是一段代码片段,其中包含了您所要求的内容,但它并不十分清晰和直接

角度模块('radioExample',[]) .controller('ExampleController',['$scope',函数($scope){ $scope.submitForm=function(){ 警报(“有效”); } }]);


您没有输入字段 提交
我认为“必需”对无线电输入无效。因此,这里并没有真正指定浏览器/角度行为。所以问题是,表单是有效的。下面是一段代码片段,其中包含了您所要求的内容,但它并不十分清晰和直接

角度模块('radioExample',[]) .controller('ExampleController',['$scope',函数($scope){ $scope.submitForm=function(){ 警报(“有效”); } }]);


您没有输入字段 提交
试试:

HTML:

尝试:

HTML:

<form ng-app="radioExample"  ng-controller="ExampleController" name="myForm"  novalidate ng-submit="submitForm()">
    <input name="question" type="radio" ng-model="question" value="yes" required>Yes<br/>
    <input name="question" type="radio" ng-model="question" value="no">No<br/>
    <pre>myForm.question.$error = {{ myForm.question.$error | json }}</pre>
    <div ng-messages="myForm.question.$error" role="alert">
        <div ng-message="required">You did not enter a field</div>
    </div>

    <input class="btn" type="submit" value="Submit">
</form>
 angular.module('radioExample', [])
    .controller('ExampleController', ['$scope', function($scope) {
        $scope.submitForm = function() {
            alert('valid');
            return false;
        }
    }]);