【问题标题】:How to Create a Custom Laravel Rule for Greater Values than the another Parameter如何为大于另一个参数的值创建自定义 Laravel 规则
【发布时间】:2015-02-22 11:13:11
【问题描述】:

如何在 Laravel 中重写规则来检查

这是我的规则

public static $rules = array(
        'StartTime' => 'required',
        'EndTime' => 'required');

我如何检查EndTime 是否应该超过StartTime

我试过了

'EndTime' => 'required|min:StartTime',
'EndTime' => 'required|digits_between:0,StartTime',

但我猜两者都不是正确的,,

那么我该如何重写以实现我的目标

【问题讨论】:

  • 我担心你必须创建自己的自定义规则,min 和 digits_between 都需要整数,而不是运行时计算的值
  • 我将拥有像 01.00 或 23.00 这样的值.. 它不会是?
  • 规则不会在运行时转换为值,因此您的规则永远无法工作。
  • 我问是因为它检查 digits_between:0,StartTime 并显示 结束时间必须在 0 和 StartTime 数字之间
  • 你能帮我创建自定义规则吗,虽然我看到了这个laravel.com/docs/4.2/validation#custom-validation-rules 我将验证器传递给这样的模型 $validation = Validator::make($TimingData, TimingModel:: $rules); 而且我不知道如何在单个语句中调用自定义规则

标签: php validation laravel laravel-4 rule


【解决方案1】:

我建议这个问题的另一种解决方案,我认为没有必要为此创建自定义规则。你可以这样做:

$myRule = 'required|min:'.Input::get('StartTime');

我应该说我认为你的 StartTime 值是整数。

【讨论】:

  • 这可能不是最有创意的方法,但对于初学者来说,这可能是最容易实现的方法。
  • @JustinKyleParton 你说得对,我个人更喜欢为更艰难的情况创建自定义规则
猜你喜欢
  • 1970-01-01
  • 2019-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-29
  • 2019-05-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多