angularjs - 选择单选按钮时的AngularJs表单验证
问题描述
嗨,我是 angularJS 的学习者,在我的表单中,我有姓名和电子邮件字段以及一个用于性别选择的无线电组,我的要求是当我选择男性时,姓名字段是必需的,如果我选择女性,则电子邮件字段是必需的
我已经尝试过下面的代码,但它不工作可以请有人帮助我
代码:
<form class="form-horizontal alert alert-warning" name="empList" id="empForm" ng-submit="insertInfo(empInfo)">
<h3 class="text-center">Insert Employee Details Into Database</h3>
<div class="form-group">
<label for="Name">Employee Name:</label>
<input type="text" name="emp_name" class="form-control" placeholder="Enter Employee Name" ng-model="empInfo.name"
required="gender.value=='male'" />
</div>
<div class="form-group">
<p class="text-danger" ng-show="empList.emp_name.$invalid">Name field is Empty!</p>
</div>
<div class="form-group">
<label for="Email">Email Address:</label>
<input type="email" name="emp_email" class="form-control" placeholder="Enter Employee Email Address" ng-model="empInfo.email"
autofocus required="gender.value=='female'"/>
</div>
<div class="form-group">
<p class="text-danger" ng-show="empList.emp_email.$invalid>Invalid Email!</p>
</div>
<div class="form-group">
<label for="Gender">Gender:</label>
<label for="" class="radio-inline gender">
<input type="radio" name="emp_gender" value="male" ng-model="empInfo.gender" #gender="ng-model">Male
</label>
<label for="" class="radio-inline gender">
<input type="radio" name="emp_gender" value="female" ng-model="empInfo.gender" #gender="ng-model">Female
</label>
</div>
</form>
解决方案
也许尝试使用该验证: HTML :
<form class="form-horizontal alert alert-warning" name="empList" id="empForm" ng-submit="insertInfo(empInfo)">
<h3 class="text-center">Insert Employee Details Into Database</h3>
<div class="form-group">
<label for="Name" ng-show="empInfo.gender != male_value">Employee Name is required</label>
<input type="text" name="emp_name" class="form-control" placeholder="Enter Employee Name" ng-model="empInfo.name"
required="gender.value=='male'" />
</div>
<div class="form-group">
<p class="text-danger" ng-show="empList.emp_name.$invalid">Name field is Empty!</p>
</div>
<div class="form-group">
<label for="Email" ng-show="empInfo.gender == male_value">Email Address is rquired</label>
<input type="email" name="emp_email" class="form-control" placeholder="Enter Employee Email Address" ng-model="empInfo.email"
required="gender.value=='female'"/>
</div>
<div class="form-group">
<p class="text-danger" ng-show="empList.emp_email.$invalid">Invalid Email!</p>
</div>
<div class="form-group">
<label for="Gender">Gender:</label>
<label for="" class="radio-inline gender">
<input type="radio" name="emp_gender" ng-value="male_value" ng-model="empInfo.gender">Male
</label>
<label for="" class="radio-inline gender">
<input type="radio" name="emp_gender" ng-value="female" ng-model="empInfo.gender" >Female
</label>
</div>
</form>
JS:
$scope.male_value = 'male';
plunker:http ://plnkr.co/edit/Hi5t1gU5TIdNx670wHo1?p=preview
推荐阅读
- lua - 找到了混淆代码(我认为),我不知道如何去混淆它。卢阿
- pdf-generation - 使用 apache FOP 生成 PDF 中的印度货币符号 (₹)
- c# - 构造函数中的 GetDbContext 时发生 System.ArgumentNullException
- javascript - AJAX TABLE:如何通过 onclick in 表格上的按钮调用函数?json
- rsync - 如果更改的文件过多,则停止 rsync 备份
- c# - 我正在寻找一个正则表达式来将响应与 & 作为值的一部分
- java - Selenium + IntelliJ:烦人的警告,如何解决它们
- python - 方法对象在神经网络代码中不可下标
- powershell - 如何通过 azure devops 发布管道中的 powershell 任务创建 azure 资源?
- r - 选择具有最高值的行并返回行名