私のコントローラーにはいくつかのデータセットがあり、一部の値はクライアントから送信できません (ロジックのエラーではありません)。データベースの対応するフィールドを変更しません。ただし、値が空の文字列の場合はエラーをスローしたいと考えています。
標準のバリデーターでそれを行うにはどうすればよいですか?
例:
ユーザー名とパスワードの2つのフィールドを持つテーブルユーザーがあります。プロファイルのユーザーは、それらのいずれかまたは両方を変更できます。プロファイルは、オプションで構成されたプロキシを使用して ExtJS 4 で記述されるwriteAllFields: false
ため、クライアントは変更されたフィールドのみをサーバーに送信します。
サーバー側で、たとえば、ユーザー名が見つからない場合
$this->_request->getPost('username')
$this->_getParam('username')
...または他の何か(nullです)、それを検証してデータベースで変更したくありません。
しかし、ユーザーがユーザー名フィールドに空の文字列を入力した場合、それを検証して、「ユーザー名を空にすることはできません」などのテキストでユーザーにエラーを表示したいと考えています。
これはどのように達成できますか?