1

住所フィールドの 1 つが入力されていない限り、ユーザーの完全な住所が必要ないフォームで検証を入力しようとしています。

例: 都道府県または都市の入力フィールドに入力すると、郵便番号と番地も入力する必要があります。

Laravel を使用してみrequired_withましrequired_with_allrequired_ifが、どれも機能していないようです。任意のヒント?

4

1 に答える 1

1

私は同じ問題を抱えていましたが、私の解決方法を見つけました。ここに間違ったコードがあります:

$rules = [
    ...
    /** address optional */
    'address-id' => 'exists:addresses, id', 
    'address-complement' => '', 

    /** address required */
    'address-state-id' => 'required_with:address-id, address-city-id, address-postal_code, address-street, address-number, address-complement, address-district', 
    'address-city-id' => 'required_with:address-id, address-state-id, address-postal_code, address-street, address-number, address-complement, address-district', 
    'address-postal_code' => 'required_with:address-id, address-city-id, address-state-id, address-street, address-number, address-complement, address-district', 
    'address-street'  => 'required_with:address-id, address-city-id, address-postal_code, address-state-id, address-number, address-complement, address-district', 
    'address-number' => 'required_with:address-id, address-city-id, address-postal_code, address-street, address-state-id, address-complement, address-district', 
    'address-district' => 'required_with:address-id, address-city-id, address-postal_code, address-street, address-number, address-complement, address-state-id', 
    ...
];

そしてここに正しいものがあります:

$rules = [
    ...
    /** address optional */
    'address-id' => 'exists:addresses,id',
    'address-complement' => '',

    /** address required */
    'address-state-id' => 'required_with:address-id,address-city-id,address-postal_code,address-street,address-number,address-complement,address-district',
    'address-city-id' => 'required_with:address-id,address-state-id,address-postal_code,address-street,address-number,address-complement,address-district',
    'address-postal_code' => 'required_with:address-id,address-city-id,address-state-id,address-street,address-number,address-complement,address-district',
    'address-street'  => 'required_with:address-id,address-city-id,address-postal_code,address-state-id,address-number,address-complement,address-district',
    'address-number' => 'required_with:address-id,address-city-id,address-postal_code,address-street,address-state-id,address-complement,address-district',
    'address-district' => 'required_with:address-id,address-city-id,address-postal_code,address-street,address-number,address-complement,address-state-id',
    ...
];

機能させるには、コンマの後のスペースを削除する必要がありました。

于 2015-11-05T20:09:41.190 に答える