前端做重复性校验

前端做重复性校验

问:用jquery怎么验证名字在输入完之后马上提示有没有重复的代码
  1. 答:监听keypress 事件
    在keypress触发事件哪里校验名字是否重复
  2. 答:个人建议使用onkeyup进行实时监测,用户体验更好
  3. 答:您好:
    整体思路如下;
    在用户名输入框失去焦点的时候,通过Ajax请求后台程序,在后台程序中判断是否已经存在了,如果存在就返回一个标识,然后前端看到这个标识,就提示已经存在了。
  4. 答:<input type="text" id="name" />
    <script>
         $('#name').blur(function(){
             var name = this.value;
             //ajax后台请求名字是否重复
             $.ajax({
                 ....
                 ess:function(data){
                     //如果重复,提示之
                 }
             });
         });
    </script>
  5. 答:当你输入完之后,鼠标焦点离开时调用方法,去后台数据库查一下,返回回来,判断有重复,提示重复
问:jsonschema-form-vue基于JSON Schema表单自动生成方案
  1. 答:作为一名前端开发,「表单开发」是我们的家常便饭,一般我们需要做以下重复性工作:
    同时,后台服务也需要编写校验规则,随着业务变动或者沟通不及时,前后端校验规则可能会存在不一致问题。所以「前后端共用校验规则逻辑」也应该纳入考虑。
    综上,我们希望能减少重复性工作: 通过配置自动生成表单模板,同时这个配置最好还能描述表单校验相关 ( 因为表单元素部分属性如min、max、required、pattern这些都会控制表单输入,保障校验 )
    先通过一个简单的例子看下效果: Demo 、 Code
    渲染结果
    更多Demo
    文档
    然后,现在表单经常会通过JSON异步提交到服务端,所以技术选型如下:
    最后,JSONSchema在表单描述上并非无所不能:
    所以,我们参考了 angular schema form ,增加了 Form Definition 描述,用来补充扩展JSON Schema,它可以:
    即使没定义Form Definition,内部在表单渲染部分,也会将JSONSchema转换成Form Definition,因为其结构更适合循环表单渲染
    所以,整体架构如图
    目前已经提供了 基础组件11个 (包含图片上传、编辑器等扩展组件)和 容器组件3个 ,未来还会根据情况继续增加,同时也支持自己扩展组件和规则。
问:token防止前端重复提交
  1. 答:关于表单重复提交的控制在不同的层面有不同的实现方法。最简单的就是前端按钮提交之后置灰控制。另外对于绕过前端恶意重复提交的行为就需要在服务端进行控制。大致分为两类。第一类为web容器对请求进行控制,第二类为业务系统幂等控制。
    这里介绍一下通过token实现web容器重复请求控制。
    原理: 1表单打开时向后端申请一个token。
    2表单提交时将token一并提交
    3controller处理请求时检查token,如果token存在则删除这个token并判定请求合法。
    注意:redis要用删除操作来判断token,删除成功代表token校验通过,如果用select+delete来校验token,存在并发问题,不建议使用
    实现例子:
                        1 创建一个TokenUtil类,用来生成token和token校验
    2获取token的controller
                      3 token判定的应用
前端做重复性校验
下载Doc文档

猜你喜欢