angular + easyui做界面验证

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>

此时,可以看到展现效果

图片:

返回栏目页:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/script/

为了让界面更友好,使用更方便,我使用了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,我没想到这里怎么用更方便,大家有好的想法,也请指点一下。

作者:cnblogs draculav

时间: 2024-09-08 07:59:14

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

刚开始学Jv跟着视频做了个登录界面验证结果com.microsoft.sqlserver.jdbc.SQLServerException: 索引 2 超出范围。

问题描述 com.microsoft.sqlserver.jdbc.SQLServerException:索引2超出范围.用户名:user密码:123456atcom.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)atcom.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(S

python-把django的admin改造成ajax方式并结合easyui做前端

问题描述 把django的admin改造成ajax方式并结合easyui做前端 研究了django算起来也有半年多时间了,django的开发方式非常方便,网上到处说他的orm设计不好,但我感觉是特色呢,结合他的admin功能,让我非常喜欢,只要把model创建好,注册一下,管理界面就出来了.因为不满意他的界面,所以也尝试过用easyui去改造他的界面,虽然功能都能实现了,但是代码还是有点混乱,想问有没有人也做过类似的改造,有好的想法交流交流?

struts2 0-Struts2 结合easyui做dataGrid时,jsp收不到传来的json

问题描述 Struts2 结合easyui做dataGrid时,jsp收不到传来的json ,,, 实在没有C币了.折腾好几天了.求大神帮忙 解决方案 访问url错了. 改为 项目路径 + "/dataGrid.action" 解决方案二: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> &

JQuery EasyUi之界面设计——前言与界面效果(一)

如果冯巩的开场白是"观众朋友们,我想死你们了",那么我的开场白是"最近一直很忙,很久没有发文了". 前面说过了EXT.NET,这里顺便再说说JQuery EasyUI.为啥我会选择JQuery EasyUI呢?主要有以下几点: 轻量级. 基本的组件都用,即"麻雀虽小五脏俱全". 使用简洁方便,比如支持html+js. 可扩展性. 可维护性.世上没有完美的产品,而且其对IE6的兼容性还存在一些问题,但相比extjs,其还是很方便阅读和修改的. 简单

Jquery插件easyUi表单验证提交

 本篇文章主要是对Jquery插件easyUi表单验证提交的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: <form id="myForm" method="post">   <table align="center" style="width:400px;height:auto;margin-top: 20px">            <tr>    

学做界面#-想学做界面的信息安全专业的会敲代码的色影丝小学渣

问题描述 想学做界面的信息安全专业的会敲代码的色影丝小学渣 自身具备的艺术素养对做出优质的界面有助推作用吗?我对别人做的界面的构图位置美观吧啦吧啦很敏感,脑中会形成一个自己感觉更舒服的界面版式,这对做出优质的界面有助推作用吗,还是小学生胡思乱想了,第一次提问,求指示,轻喷. 解决方案 有艺术细胞是好事.但是如果过于强调这个,而忽略了系统的学习.理性和理论,那么是没什么好处的. 一个靠直觉和自发得到的经验而进行界面设计的人,可能你能设计用户群体和你本人有着相同背景的简单的小软件. 但是一个前端交互

jsp-Jsp做界面时怎么设置背景图片和插入图片啊?

问题描述 Jsp做界面时怎么设置背景图片和插入图片啊? 我在用myeclips中的JSP做界面时怎么也插入不了图片,也不知道图片应该放在哪个文件夹下,求指导 解决方案 郁闷,这个编辑器不好使,都乱了!重新排一下. 如果只是单纯的为网页添加背景,就跟制作简单的html和css是一样的.1.添加背景图片,最简单的就是在body标签中添加属性background=""图片路径""或者在body标签内使用内部样式style=""background-im

隐藏-用easyui做的系统如下图,在不同的功能栏目切换,是应该做到一个html还是。。。

问题描述 用easyui做的系统如下图,在不同的功能栏目切换,是应该做到一个html还是... 用easyui做的系统如下图,在不同的功能栏目切换,是应该做到一个html还是多个php文件?通常这种切换是用的tab还是什么,单纯的隐藏!会影响内存开销吗?谢谢回答图片说明 解决方案 你加载这么多内容肯定会增加内存开销的.而且功能太多你的逻辑也会很麻烦.. 可以父页layout,子菜单的功能可以使用tab+tab内容为iframe(加载单独页面)来实现.反正没跨域,你要和父页交互也简单.iframe

c#-C#做界面,调用C++,谁可以给一个教程?

问题描述 C#做界面,调用C++,谁可以给一个教程? 最好人来教,我就做一个简单的东西,C++函数都写好了,就是不会写界面,以前没学过,加上时间比较紧. 可以给报酬,希望哪位大神可以教我 解决方案 http://blog.csdn.net/biyusr/article/details/7301288 解决方案二: C++与C#界面编程比较 C++ 优点: 1. 容易调用底层代码,运行效率高.主要用于操作系统,设备驱动程序,视频游戏等领域.如果用于编写界面程序,运行速度将很快. 2. 可直接调用C