angular结合easyui这事其实并不是很合适,因为:angular的特点之一是双向绑定,页面元素与页面逻辑之间解耦;easyui是对页面元素进行封装,甚至一些组件是隐藏了原本的dom元素,初始化时创建新的元素来实现功能的。在某种程度上来说,angular和easyui在工作原理上是冲突的,当然,下面就是但是了,不然就不太好往下写了。

但是,easyui的验证控件validatebox的验证控件提示明显,UI效果比较友好,而且不会影响angular的正常工作,所以我对用这两个结合做验证非常喜欢。

好了,正式开始,首先添加引用:

<script src="/js/jquery-1.7.2.js" type="text/javascript"></script>
<script src="/js/jquery.easyui.min.js" type="text/javascript"></script>
<script src="/js/angular/angular.js" type="text/javascript"></script>

然后是页面元素,只需要给对应的DOM元素指定属性并设置验证规则:

//controller当然是必须的
<table rules="none" ng-controller="invoiceController" class="styleEntireWidth">

<select class="easyui-validatebox styleWiden" ng-model="basic.applyState" ng-options="c.value as c.text for c in dict.applyStateData"
    id="applyState" name="applyState" data-options="required:true,missingMessage: '请选择申请状态.'">
    <option value="">-- 请选择 --</option>
 </select>

此时,可以看到展现效果

图片:

为了让界面更友好,使用更方便,我使用了easyui的Form组件

<div class="easyui-panel" title="发票开具申请" style="padding: 0px;"
data-options="iconCls:'icon-save',collapsible:true" id="ng-app" ng-app="invoice">

JS脚本如下:

JQuery(function () {
  JQuery('#ng-app').form('validate');
  var width = window.screen.availWidth * 0.9;
  var height = document.body.offsetHeight * 0.932;
  JQuery('#ng-app').panel('resize', {
  width: width,
  height: height
  });
});

此时效果如下图:

最后,当有如保存之类操作需要验证页面必录项或格式时,只需要执行以下脚本:

$scope.SavePageData = function (controlID) {
  var isValid = JQuery('#ng-app').form('validate');
  if (isValid) {
  ......
  }
};

脚本中的isValid返回的验证结果:true or false,此时,验证不通过也不需要额外提示,因为界面上的提示已经足够明显。

至于这脚本中另外一个问题:angular的controller中最好不要直接对DOM元素进行操作,我觉得已经有足够的理由在这里妥协了,并且只有这一句代码而已,不会有太多不好的影响,至于angular用于针对DOM元素操作的指令directive,我没想到这里怎么用更方便,大家有好的想法,也请指点一下。

  

  

  

angular + easyui 做界面验证的更多相关文章

  1. easyui扩展正则验证,函数验证

    用easyui做业务系统,对于默认的几个验证规则,肯定是不够的,难免会增加几种规则.可是问题来了,往往是我们在开发会遇到很多各种各样的验证,时间久了才发现,这些扩展的正则无非就是添加一个正则验证规则, ...

  2. angular js 表单验证

    <!doctype html> <html ng-app="myapp"> <head> <meta charset="UTF- ...

  3. angular 输入框实现自定义验证

    此插件使用angular.js.JQuery实现.(jQuery的引入需在angular 之前) 用户可以 在输入框输入数据后验证 必填项.整数型.浮点型验证. 如果在form 里面的输入框验证,可以 ...

  4. [转]Spring3 MVC + jQuery easyUI 做的ajax版本用户管理

    原文地址:http://www.iteye.com/topic/1081739 上周写了篇基于spring3.0.5 mvc 简单用户管理实例 ( http://www.iteye.com/topic ...

  5. JQuery EasyUi 扩展combox验证

    随笔记录一下 1.通过select text的值验证 /** * 扩展combox验证,easyui原始只验证select text的值,不支持value验证() */ (function($){ c ...

  6. C# WinForm 和 javascript进行交互 使用HTML做界面

    01 using System; 02 using System.Collections.Generic; 03 using System.Text; 04 using System.Reflecti ...

  7. 如何调用sklearn模块做交叉验证

    终于搞明白了如何用sklearn做交叉验证!!! 一般在建立完模型之后,我们要预测模型的好坏,为了试验的可靠性(排除一次测试的偶然性)我们要进行多次测试验证,这时就要用交叉验证. sklearn中的s ...

  8. angular编写表单验证

    angular编写表单验证 一.整体概述 表单内容如下图,包括常用的用户名.密码.确认密码.手机.邮箱等 整体js代码很少,就一个指令用于写确认密码和密码是否相等.其他 验证都是使用angular自带 ...

  9. qml(Qt Quick)做界面

    qml(Qt Quick)做界面 来源  https://www.zhihu.com/question/24880681/answer/29324824 本人是Qt初学者,正在写一个会计小软件(Lin ...

随机推荐

  1. 【原】Github+Hexo+NextT搭建个人博客

    摘要 GitHub 是一个开源项目的托管网站,相信很多人都听过.在上面有很多高质量的项目代码,我们也可以把自己的项目代码托管到GitHub,与朋友们共享交流.GitHub Pages 是Github为 ...

  2. BIOS中未启用虚拟化支持系列~~例如:因此无法安装Hyper-V

    异常处理汇总-服务器系列:http://www.cnblogs.com/dunitian/p/4522983.html 一般都是启动一下CUP虚拟化就可以了 比如华硕的:

  3. css居中div的几种常用方法

    在开发过程中,很多需求需要我们居中一个div,比如html文档流当中的一块div,比如弹出层内容部分这种脱离了文档流等.不同的情况有不同的居中方式,接下来就分享下一下几种常用的居中方式. 1.text ...

  4. vue入门学习(基础篇)

    vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...

  5. Collection集合

    一些关于集合内部算法可以查阅这篇文章<容器类总结>. (Abstract+) Collection 子类:List,Queue,Set 增: add(E):boolean addAll(C ...

  6. Javascript中的valueOf与toString

    基本上,javascript中所有数据类型都拥有valueOf和toString这两个方法,null除外.它们俩解决javascript值运算与显示的问题,本文将详细介绍,有需要的朋友可以参考下. t ...

  7. 和我一起看API(一)你所不知道的LinearLayout补充

    楼主英语水平差,翻译的不好的话请多多指正,嘿嘿... A Layout that arranges its children in a single column or a single row. T ...

  8. 电脑新建svn仓库

    步骤1:安转svg: 注意事项: 安装的时候选择:Modify 安装到以下图片的步骤时: 黄色区域选择: 步骤2:新建svn仓库文件夹(本教程例子:D:\svn-5gpos),选择文件夹右键,点击下图 ...

  9. Linux:将rhel yum 切换到centos yum

    Red Hat Enterprise Linux Server(RHEL) yum安装软件时This system is not registered with RHN. RHN support wi ...

  10. Linux实战教学笔记07:Linux系统目录结构介绍

    第七节 Linux系统目录结构介绍 标签(空格分隔):Linux实战教学笔记 第1章 前言 windows目录结构 C:\windows D:\Program Files E:\你懂的\精品 F:\你 ...