AngularJs的自定义验证问题,输入框背景文字消失与警告文字开始就会出现

app.controller('appForm',['$scope',function($scope){//申请页面的错误操作提示判定vara=false;varb=fa... app.controller('appForm',['$scope',function($scope){//申请页面的错误操作提示判定 var a=false; var b=false; $scope.promptnum= function(value){//判断申请数量 if(value>0 && value%2==0 || value%2==1){ a=true; return false; }else{ a=false; return true; } } $scope.prompttxt= function(value){//判断申请理由 if(value==undefined){ a=false; return true; }else{ if(value.length>0 &&value.length<=100){ b=true; return false; }else{ a=false; return true; } } } $scope.send=function(){//判断是否符合提交规范 if(a && b){ $scope.sends = true; $scope.sendffo = false; }else{ $scope.sends = false; $scope.sendffo = true; } }}]) 展开
 我来答
百度网友79e2664
2016-06-24 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:54.8万
展开全部
1、自定义验证最好写在指令里面,写在控制器里面不好测试,而且控制器是不能复用的。

2、你没有输入内容,返回的不就是两个true么,当然两个都显示了,这就是angular的双向绑定啊。
追问
萌新不是很懂……指令是哪一块……?然后咱在html页面有设置提示文字的呀……不管哪一个都被清除掉了……
寻天凌寒
2016-06-24 · 思以言存达之以文,分享我所见所闻所思所虑
寻天凌寒
采纳数:324 获赞数:1051

向TA提问 私信TA
展开全部
你如果用angularJS自带验证的话 form标签是必须的 你没有写
更多追问追答
追问
我在runoob上测试过form标签,即使带了form标签不加内置提示的话也是一样的……
追答

你一些关键词没写嘛

form后的novalidate

和input后的required
 你都没有 不能贴网址 你仔细对比下你的代码好了

<form  ng-app="myApp"  
ng-controller="validateCtrl"
name="myForm" novalidate>


<p>用户名:<br>
  <input type="text" name="user" ng-model="user" 
required>
  <span style="color:red" ng-show="myForm.user.$dirty && 
myForm.user.$invalid">
  <span ng-show="myForm.user.$error.required">用户名是必须的。</span>
  </span>
</p>

<p>邮箱:<br>
  
<input type="email" name="email" ng-model="email" required>
  <span 
style="color:red" ng-show="myForm.email.$dirty && myForm.email.$invalid">
  
<span ng-show="myForm.email.$error.required">邮箱是必须的。</span>
  
<span ng-show="myForm.email.$error.email">非法的邮箱。</span>
  
</span>
</p>

<p>
  <input type="submit"
  
ng-disabled="myForm.user.$dirty && myForm.user.$invalid ||
  
myForm.email.$dirty && myForm.email.$invalid">
</p>

</form>


<script>
var app = angular.module('myApp', []);
app.controller('validateCtrl', 
    function($scope) {
    
$scope.user = 'John Doe';
    $scope.email = 'john.doe@gmail.com';

});
</script>

这是网上的一个例子 你仔细对比下

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式