Angularjs验证用户输入的字符串是否为日期时间

在angularjs中,想在文本框中,验证用户输入的字符串是否为日期时间。

刚开始时,Insus.NET想到的是正则,这只是验证到日期与时间的格式是否正确而已,而对于2月最后一天或是30或是31号,还是无能为力。

因此,Insus.NET想使用angularjs的自定义指令来验证解决此问题。

在ASP.NET MVC的项目中,创建一个控制器,并创建一个Action:

控制器源代码

rush:js;"> using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Web; using System.Web.Mvc; namespace Insus.NET.Controllers { public class CommonsController : Controller { public JsonResult ValidateDate(string date) { object _Data; DateTime dt; if (DateTime.TryParse(date,out dt)) { _Data = new { result = true }; } else { _Data = new { result = false }; } return new JsonResult { Data = _Data,ContentEncoding = System.Text.Encoding.UTF8,JsonRequestBehavior = JsonRequestBehavior.AllowGet }; } } }

接下来,你可以写Directive了,那是一个js文件

validateDate的angularjs代码

rush:js;"> airExpressApp.directive('validateDate',function ($http,$q) { return { restrict: 'AE',require: 'ngModel',link: function ($scope,element,attributes,ngModelController) { ngModelController.$asyncValidators.dataValid = function (modelValue,viewValue) { var deferred = $q.defer(); var obj = {}; obj.date = modelValue; $http({ method: 'POST',url: '/Commons/ValidateDate',dataType: 'json',headers: { 'Content-Type': 'application/json; charset=utf-8' },data: JSON.stringify(obj),}).then(function (response) { if (ngModelController.$isEmpty(modelValue) || response.data.result) { deferred.resolve(); } else { deferred.reject(); } }); return deferred.promise; }; } } });

html的input应用此angularjs的属性

演示:

以上所述是小编给大家介绍的Angularjs验证用户输入的字符串是否为日期时间。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...