在angularjs中,想在文本框中,验证用户输入的字符串是否为日期时间。
刚开始时,Insus.NET想到的是正则,这只是验证到日期与时间的格式是否正确而已,而对于2月最后一天或是30或是31号,还是无能为力。
因此,Insus.NET想使用angularjs的自定义指令来验证解决此问题。
在ASP。NET MVC的项目中,创建一个控制器,并创建一个行动:
控制器源代码:
使用系统; 使用System.Collections.Generic; 使用System.Globalization; 使用来; 使用包含; 使用System.Web.Mvc; 名称空间Insus.NET.Controllers { 公共类CommonsController:控制器 { 公共JsonResult ValidateDate (string日期) { 对象_Data; DateTime dt; 如果(DateTime。TryParse(日期、出dt)) { _Data=https://www.yisu.com/zixun/new{结果=true}; } 其他的 { _Data=new=false}{结果; } 返回新JsonResult { Data=_Data, ContentEncoding=System.Text.Encoding.UTF8, JsonRequestBehavior=JsonRequestBehavior.AllowGet }; } } }
接下来,你可以写指令了,那是一个js文件:
validateDate的angularjs代码:
airExpressApp。指令(validateDate,函数(http、问美元){ 返回{ 限制:“AE”, 要求:“ngModel”, 链接:函数(美元范围、元素、属性ngModelController) { ngModelController asyncValidators美元。dataValid=function (modelValue viewValue) { var延迟=$ q.defer (); var obj={}; obj。日期=modelValue; http({美元 方法:“文章”, url:“/共享/ValidateDate”, 数据类型:json, 标题:{ “内容类型”:“application/json;charset=utf - 8 ' }, 数据:JSON.stringify (obj), })。然后(函数(响应){ 如果(ngModelController。美元isEmpty (modelValue) | | response.data.result) { deferred.resolve (); 其他}{ deferred.reject (); } }); 返回deferred.promise; }; } } });
html的输入应用此angularjs的属性:
,演示:
以上所述是小编给大家介绍的Angularjs验证用户输入的字符串是否为日期时间,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!