12


1

ZendフォームsetRequired(true)またはaddValidator(NotEmpty)

これら2の動作または出力間に実際の違いはありますか? 彼らは同じことをしているように見えます。

->addValidator('NotEmpty')

->setRequired(true)

1 Answer


18


はい、違いがあります。 要素が不要な場合、検証対象のデータから値全体が欠落していても検証されます。 値は、存在することが確認された後、登録されたバリデータに対してのみ検証されます。 `NotEmpty`バリデーターはフィールドが存在するが空の場合のみ失敗します。

また、自分でNotEmptyバリデータを追加する必要はありません。デフォルトでは、要素が必要な場合、Zendは要素に対してNotEmptyバリデータを自動挿入します。 したがって、 `→ setRequired(true)`を効果的に行うことは、 `→ setRequired(true)→ addValidator( 'NotEmpty')`を行うことと同じです。 `→ setAutoInsertNotEmptyValidator(false)`でこの動作をオフにすることができます。