AngularJS 踩坑路

本文介绍了在使用AngularJS进行表单验证过程中遇到的一个微妙问题,即表单名称和字段名称在ng-show指令中不能包含短横线(-)。通过一个具体的例子展示了如何正确地设置表单验证。

第一次真正在项目中使用AngularJS竟然就遇到问题了,感觉很挫败啊,不过没关系,通过自己的努力最终还是找到了问题的症结,也很开心呢,嘻嘻!

今天要做的一个功能就是通过AngularJS做表单验证,论说只要通过ng-show加一些判断就可以搞定的事,但是我却被它折磨了将近一个小时,成功的案例是什么呢,下面这段代码就可以通过ng-show实现验证必填项目:

<form ng-app="myApp" ng-controller="validateCtrl" 
name="myForm" novalidate>
<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>
</form>

是的,可以通过验证!!!

我到底做错了什么呢,会被折磨的这么惨呢,大家看我的代码:

<form ng-app="myApp" ng-controller="validateCtrl" 
name="my-Form" novalidate>
<p>邮箱:<br>
<input type="email" name="email" ng-model="email" required>
<span style="color:red" ng-show="my-Form.email.$dirty && my-Form.email.$invalid">
	<span ng-show="my-Form.email.$error.required">邮箱是必须的。</span>
	<span ng-show="my-Form.email.$error.email">非法的邮箱地址。</span>
</span>
</p>
</form>
看到了吗?是不是很难发现,即使发现了你也不会觉得这是个问题吧,天啦噜formName和fieldName在ng-show指令中都不可以包含短横线(-),真的,发现了这个问题后,想死的心都有了。不过学习的路还很长,各种坑肯定也很多,正好也锻炼一下我的心智,加油吧少年。

因为觉得后面还会碰到一下离奇的问题,所以先开一篇文章,后面如果遇到陆续更新!!



基于模拟退火的计算器 在线运行 访问run.bcjh.xyz。 先展示下效果 https://pan.quark.cn/s/cc95c98c3760 参见此仓库。 使用方法(本地安装包) 前往Releases · hjenryin/BCJH-Metropolis下载最新 ,解压后输入游戏内校验码即可使用。 配置厨具 已在2.0.0弃用。 直接使用白菜菊花代码,保留高级厨具,新手池厨具可变。 更改迭代次数 如有需要,可以更改 中39行的数字来设置迭代次数。 本地编译 如果在windows平台,需要使用MSBuild编译,并将 改为ANSI编码。 如有条件,强烈建议这种本地运行(运行可加速、可多次重复)。 在 下运行 ,是游戏中的白菜菊花校验码。 编译、运行: - 在根目录新建 文件夹并 至build - - 使用 (linux) 或 (windows) 运行。 最后在命令行就可以得到输出结果了! (注意顺序)(得到厨师-技法,表示对应新手池厨具) 注:linux下不支持多任务选择 云端编译已在2.0.0弃用。 局限性 已知的问题: - 无法得到最优解! 只能得到一个比较好的解,有助于开阔思。 - 无法选择菜品数量(默认拉满)。 可能有一定门槛。 (这可能有助于防止这类辅助工具的滥用导致分数膨胀? )(你问我为什么不用其他语言写? python一个晚上就写好了,结果因为有涉及json读写很多类型没法推断,jit用不了,算这个太慢了,所以就用c++写了) 工作原理 采用两层模拟退火来最大化总能量。 第一层为三个厨师,其能量用第二层模拟退火来估计。 也就是说,这套方法理论上也能算厨神(只要能够在非常快的时间内,算出一个厨神面板的得分),但是加上厨神的食材限制工作量有点大……以后再说吧。 (...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值