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

 更新时间:2017年06月01日 14:15:50   作者:Insus.NET  
这篇文章主要介绍了Angularjs验证用户输入的字符串是否为日期时间,需要的朋友可以参考下

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

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

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

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

控制器源代码:

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代码:

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验证用户输入的字符串是否为日期时间,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)

    浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)

    今天小编就为大家分享一篇浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析

    AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析

    这篇文章主要介绍了AngularJS中$injector、$rootScope和$scope的概念和关联关系,结合实例形式较为深入的分析了$injector、$rootScope和$scope的概念、功能、使用方法及相互之间的关系,需要的朋友可以参考下
    2017-01-01
  • AngularJS双向绑定和依赖反转实例详解

    AngularJS双向绑定和依赖反转实例详解

    这篇文章主要介绍了AngularJS双向绑定和依赖反转实例详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • 详解Angular中通过$location获取地址栏的参数

    详解Angular中通过$location获取地址栏的参数

    这篇文章主要介绍了详解 Angular中通过$location获取地址栏的参数,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Angular中管道操作符(|)的使用方法

    Angular中管道操作符(|)的使用方法

    通常我们需要使用管道实现对数据的格式化,下面这篇文章主要给大家介绍了关于Angular中管道操作符(|)的使用方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-12-12
  • 利用angular自动编译andriod APK的绕坑经历分享

    利用angular自动编译andriod APK的绕坑经历分享

    这篇文章主要给大家介绍了关于如何利用angular自动编译andriod APK的绕坑经历,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者使用angular具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍

    Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍

    这篇文章主要介绍了Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍的相关资料,需要的朋友可以参考下
    2016-12-12
  • AngularJS实现表单验证

    AngularJS实现表单验证

    客户端表单验证是AngularJS里面最酷的功能之一。 AngularJS表单验证可以让你从一开始就写出一个具有交互性和可相应的现代HTML5表单。在AngularJS中,有许多表单验证指令。在这里,我们将谈谈几个最流行指令,然后我们将讨论如何编写自定义的验证。
    2015-01-01
  • AngularJS整合Springmvc、Spring、Mybatis搭建开发环境

    AngularJS整合Springmvc、Spring、Mybatis搭建开发环境

    这篇文章主要介绍了AngularJS整合Springmvc、Spring、Mybatis搭建开发环境的相关资料,为学习使用AngularJS做好基础准备,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • AngularJS实现的回到顶部指令功能实例

    AngularJS实现的回到顶部指令功能实例

    这篇文章主要介绍了AngularJS实现的回到顶部指令功能,结合实例形式分析了AngularJS返回到顶部功能的具体步骤与相关实现技巧,需要的朋友可以参考下
    2017-05-05

最新评论