美文网首页
2018-07-16达到条件才验证

2018-07-16达到条件才验证

作者: 护念 | 来源:发表于2018-07-16 21:15 被阅读0次

条件性验证

可以用if/unless 从而决定在什么时候做验证,

1、可以接一个符号(方法);也可以接块
2、还可以接一个符号数组
3、if/unless还可以搭配使用

符号写法

validates :email,presence: true,if: :is_admin?

def is_admin?
  role == 'admin'
end
接块写法
validates :email,presence: true, if: lambda {|user| user.role == 'admin'}
# 这里传了 对象进块哈

接符号数组

validates :email,presence: true,if: [:is_admin?,:age_conditon?]

def is_admin?
  role == 'admin'
end

def age_conditon?
  age < 35
end
if/unless搭配写法
validates :email,presence: true,if: :is_admin?,
                                                         unless: lambda do |user|
                                                             user.age >= 35
                                                         end

一个条件 验证多个字段

rails 提供了with_opitons 方法

# 当为管理员时,同时验证name 和 hom_page_urls
with_options if: :is_admin? do |user| # 注意这里要传 对象
   # 写法 object.validates
  user.validates :name,presence: true
  user.validates :home_page_urls, length: {minimum: 6}
end

相关文章

  • 2018-07-16达到条件才验证

    条件性验证 可以用if/unless 从而决定在什么时候做验证, 1、可以接一个符号(方法);也可以接块2、还可以...

  • Excel单元格中加入下拉选项

    菜单→数据→数据验证→数据验证→验证条件:序列。

  • 测试用例

    测试用例的定义:按照一定的输入和预制条件执行之后能达到预期结果,验证功能程序所需要的需求。 测试用例的好处: 1)...

  • ios支付安全 指纹支付

    安全性 开启指纹支付的必须满足以下安全条件: 1 . 开启指纹支付, 需读完指纹支付协议, 验证交易密码, 才可以...

  • 满减档设置

    1.满减档的重要性 满减活动:即“满”是门槛,“减”是额度。用户只有在达到门槛后(即达到条件),才可以享受减免相对...

  • 10、神奇酷炫的下拉菜单2018-09-27

    1、基本用法 (1)设置下拉 ①【数据】—【数据验证】——【验证条件】——【序列】——【来源:选中区域】 ②对下拉...

  • Validform小结

    Validform不错的表单验证插件,其核心思想就是把所有的验证条件及验证提示信息绑定到每个表单元素,让验证代码在...

  • 日更107篇,日更写作和跑步哪个更难?2019-03-02

    见:今天看一位微信朋友发起日更跑步,当然有条件,捐钱进入打卡群,每天持续跑步截图发群验证,达到一定天数,日更完成,...

  • 2020-04-28

    定好目标后,无所不用其极达到她。 最近学习经常受到干扰,有个情况特别突出,就是一定要所有条件达到才肯开始学习,这可...

  • uniapp引入腾讯防水墙 (uniapp + ts + vsc

    前提条件 接入验证码前,进入图形验证[https://console.cloud.tencent.com/capt...

网友评论

      本文标题:2018-07-16达到条件才验证

      本文链接:https://www.haomeiwen.com/subject/zvhipftx.html