`

字段校验问题

阅读更多

validates_presence_of     :login, :realname, :telephone, :mobile, :department_id

validates_length_of       :site, :maximum => 10, :allow_nil => true(不是必填项必须指定为true,否则spec测试跑不过)

 

%td= f.label :site
%td= f.text_field :site,:maxlength => 10(可以用于无法出现页面校验而又要限制长度的——超过10个字符将无法再输入)

 

E-Mail地址格式 :
validates_format_of     :email,
                        :with       => /^([^@"s]+)@((?:[-a-z0-9]+".)+[a-z]{2,})$/i,
                        :message    => 'email must be valid'


网址格式:
validates_uri_existence_of :url, :with =>
        /(^$)|(^(http|https)://[a-z0-9] ([-.]{1}[a-z0-9] )*.[a-z]{2,5}(([0-9]{1,5})?/.*)?$)/ix

 

validates_uniqueness_of
 检验对象是否不重复
 用法:validates_uniqueness_of attr... [ options... ]
 参数:message text 默认: “has already been taken.”
   :on :save, :create, or :update
   :scope attr 指定范围

 

validates_presence_of
 检验对象是否为空
 用法:validates_presence_of attr... [ options... ]
 参数:message text 默认:“can’t be empty.”
   :on :save, :create, or :update

 

validates_numericality_of
 检验对象是否为数值
 用法:validates_numericality_of attr... [ options... ]
 参数:message text 默认 “is not a number.”
   :on :save, :create, or :update
   :only_integer

 

validates_format_of
 用正则检验对象
 用法:validates_format_of attr..., :with => regexp [ options... ]
 参数:message text 默认为: “is invalid.”
   :on :save, :create, or :update
   :with 正则表达式

 

validates_exclusion_of
 确定被检对象不包括指定数据
 用法:validates_exclusion_of attr..., :in => enum [ options... ]
 #enum指一切可用include?()判断的范围.
 参数:allow_nil 设为true将直接跳过nil对象.
   :in (or :within) enumerable 
   :message text 默认为: “is not included in the list.”
   :on :save, :create, or :update

 

validates_inclusion_of
 确认对象包括在指定范围
 用法:validates_inclusion_of attr..., :in => enum [ options... ]
 参数:allow_nil 设为true直接跳过nil对象
   :in (or :within) enumerable An enumerable object.
   :message text 默认:“is not included in the list.”
   :on :save, :create, or :update

 

validates_each
 使用block检验一个或一个以上参数.
 用法:validates_each attr... [ options... ] { |model, attr, value | ... }
 参数:allow_nil boolean 设为true时跳过nil对象.
   :on :save, :create, or :update

 

validates_confirmation_of
 数据重校
 用法:validates_confirmation_of attr... [ options... ]
 参数:message text 默认 “doesn’t match confirmation.”
   :on :save, :create, or :update

 

validates_associated
 查验指定的object.
 用法:validates_associated name... [ options... ]
 参数:message text 默认: is “is invalid.”
   :on :save, :create, or :update

 

validates_acceptance_of
 指定checkbox应该选中. (如:(*)我同意条款)
 用法:validates_acceptance_of attr... [ options... ]
 参数:message text  默认:“must be accepted.”
   :on :save, :create, or :update


validates_size_of            校验指定属性的长度

 

 

 

分享到:
评论

相关推荐

    jsp字段校验与非字段校验

    **JSP字段校验与非字段校验** 在Web开发中,数据验证是必不可少的一环,它可以确保用户输入的数据符合应用程序的要求,防止错误的数据进入系统。JSP(JavaServer Pages)作为Java EE平台上的动态网页技术,提供了...

    字段校验规范.doc 规则

    字段校验规范.doc 规则

    .net实体类字段校验

    .net实体类字段校验,通过Attribute属性自定义校验、及错误信息。可校验字段长度,字段类型通过校验函数校验,统一校验 [TypeCheck(Name = "", Message = "请选择开始时间", Validate = ValidateUtils._DateTime)] ...

    5G网优案例:传输IPV6分片报文Reserved字段校验不通过导致VONR呼叫失败.docx

    ### 5G网络优化案例分析:传输IPV6分片报文Reserved字段校验问题 #### 背景概述 随着5G网络在全球范围内的普及和VoNR(Voice over New Radio)技术的大规模商用,运营商面临着诸多挑战。其中一项关键挑战就是确保...

    【java框架】SpringBoot(9) -- Springboot中如何优雅的进行字段校验(csdn)————.pdf

    【SpringBoot字段校验】在SpringBoot应用中,优雅地执行字段校验是确保系统数据安全性和用户体验的关键步骤。本文将介绍如何利用SpringBoot集成的Hibernate Validate库进行字段校验,以及SpringBoot中的一些最佳实践...

    我的导入校验项目excel导入校验

    3. **数据有效性**:对特定字段进行校验,如手机号码、身份证号、邮箱等,确保其符合预设的格式规则。 4. **数据范围校验**:检查数值型数据是否在预设范围内,防止超出界限的数据导入。 5. **重复数据检查**:...

    电信计费 字段校验 时长计算

    ### 电信计费系统中的字段校验与时长计算 电信计费系统是电信运营商的核心业务之一,它涉及到对大量的通话记录进行处理、分析与计费。在这一过程中,字段校验与时长计算是非常重要的两个环节。通过对这些数据的有效...

    注解+反射实现自定义验证工具,可实现业务校验,字段多种校验

    本验证工具的核心思想是通过定义一系列自定义注解来标识需要验证的字段或方法,并通过反射技术动态获取这些注解信息来进行验证。这样做的好处是可以将验证逻辑与业务逻辑分离,使得验证规则更加清晰明了,同时也方便...

    关于java中对象属性值的校验的思考

    在Java编程中,对象属性值的校验...总的来说,Java中的对象属性值校验是一个多层面的问题,涉及到编程模式、注解、框架、工具以及测试等多个方面。理解并掌握这些知识点,可以帮助我们编写出更加健壮、易于维护的代码。

    Struts 2 数据校验功能及校验问题的解决方案

    Struts 2 是一个流行的Java Web框架,用于构建企业级应用程序。...在处理校验问题时,除了正确实现校验逻辑外,还要注意错误信息的反馈和用户界面的友好性,提供清晰的错误提示,帮助用户快速修复输入错误。

    EasyExcel 并发读取文件字段并进行校验,数据写入到新文件,批量插入数据到数据库

    在读取数据时,如果数据不符合校验规则,监听器会抛出异常,帮助我们及时发现并处理问题。 4. **数据写入新文件** 在读取并校验完数据后,我们可能需要将这些数据写入新的Excel文件。EasyExcel的`write`方法可以...

    Struts2输入校验总结

    字段校验器直接作用于特定字段,而非字段校验器可以跨多个字段工作。 - 字段校验器配置示例: ```xml 被校验的字段"> 校验器名"> <!-- 校验规则 --> 参数名">参数值 <!-- 错误信息 --> 校验失败后的提示...

    循环校验码(CRC码)的校验原理

    CRC码的原理基于二进制域上的多项式运算,它允许信息字段和校验字段的长度灵活选择。 CRC码的生成基于以下原则: 1. 任何二进制位串都可以与一个系数为0和1的多项式相对应。例如,代码1010111对应于多项式x^6 + x^4...

    excel导入动态校验,自定义注解动态校验

    3. **应用注解**:在数据模型或字段上使用自定义注解,指示哪些字段需要进行特定的校验。 4. **处理导入**:当导入Excel文件时,读取每个单元格的数据,并根据所应用的注解进行动态校验。如果数据不符合注解定义的...

    WEB前端校验插件,提供表单字段的配置式校验功能

    本文将深入探讨一个基于JavaScript的WEB前端校验插件,该插件提供了表单字段的配置式校验功能。 首先,我们要理解JavaScript在前端验证中的作用。JavaScript是一种解释型的、轻量级的脚本语言,广泛应用于网页和...

    struts2笔记之校验表单信息

    字段校验配置直接关联到Action中的属性,而非字段校验配置则需要显式指定被校验的字段名。还可以通过添加`short-circuit="true"`属性实现短路校验,即只显示第一个错误信息。 **二、基于Annotation的输入校验** ...

    CRC校验源代码(C#)

    1、循环校验码(CRC码):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。  2、生成CRC码的基本原理:任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’...

    struts2输入校验总结

    字段校验器针对Action类的某个属性进行校验,而非字段校验器则不直接关联具体属性,而是基于某些条件对多个字段进行校验。 #### 字段校验器配置示例: ```xml 被校验的字段"> 校验器名"> 参数名">参数值 ... ...

    基于Java的Json描述器,解决项目当中字段多,且多个字段需要进行判定以及校验的问题.zip

    总的来说,Java中的Json描述器是解决字段多且需要校验问题的有效工具。通过自定义反序列化逻辑,我们可以精确控制JSON数据的解析过程,确保数据的正确性和一致性,同时降低代码的复杂度。在实际项目中,合理运用这些...

    Spring Boot技术知识点:如何使用@Validated注解来对邮箱字段进行数据校验

    Spring Boot技术知识点:如何使用@Validated注解来对邮箱字段进行数据校验

Global site tag (gtag.js) - Google Analytics