如果通过电子邮件地址进行验证则需要

时间:2018-07-14 09:00:39

标签: php validation laravel-5 requiredfieldvalidator laravel-validation

我正在尝试根据所选的付款方式来验证一个Paypal ID字段。

如果选择了付款选项paypal,则必须提供paypal_id和电子邮件ID的类型。 如果付款方式为信用卡,则不需要贝宝ID。

$rule = [
            "paypal_id" => "required_if:payment-option,paypal|email"
        ];

但这给我一个错误 “贝宝ID必须是有效的电子邮件地址” 当我选择信贷选项时。 贝宝付款选项可以完美运行。

任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:0)

您可以这样做:

$rules = [/*... all rules except paypal_id ...*/];

if ($request->input("payment-option") == "paypal") {
    $rules["paypal_id"] =  "required|email";
}

$this->validate($request, $rules);

答案 1 :(得分:0)

尝试一下:

$rule = [
        "paypal_id" => "sometimes|required_if:payment-option,paypal|email"
    ];