私は、ユーザーデータを含むフォーム、特に電話番号フィールドの作業を行っています。モデルの唯一の妥当性検査ルールがusphone
ルールであるため、通常は電話番号は必須ではありません。ただし、ユーザーがこのフォームを送信している場合は、電話番号が必要になります。 validate
ルールをオンザフライで追加し、モデルを設定してvalidates
メソッドを呼び出すことができると思っていましたが、間違っているか、期待通りに動作していません。私のコントローラでオンザフライでの検証ルールの変更
:
エラーが報告されていない# Update a few validation rules that are specific to this context
$this->Proposal->Requestor->validate['phone_number']['notempty'] = array(
'rule' => 'notEmpty',
'message' => 'Please enter a phone number so can can contact you with any questions about the work.',
'allowEmpty' => false,
'required' => true,
);
$validationErrors = array();
$this->Proposal->Requestor->set($this->data['Requestor']); # $this->data['Requestor']['phone_number'] only (no other requestor data)
if(!$this->Proposal->Requestor->validates(array('fieldList' => array('phone_number')))) {
$validationErrors['Requestor'] = $this->Proposal->Requestor->validationErrors;
}
、私は電話番号フィールドを空のままにしても。この場合、ユーザーから要求している唯一の情報は自分の電話番号なので、Requestor
データの残りは空ですが、残りのユーザーデータをマージしようとしましたが、同じ結果が得られます。 fieldList
オプションを削除すると、別のフィールドでエラーが発生しますが、空の電話番号には何も表示されません。
私はここで何が不足していると思いますか?私はこれで今何時間も猿を弄ってきました。私は正しい答えを見つけられませんでした。
ありがとうございました。
ニースのおかげで問題が解決しました。 – Vins