0

空白または nil で失敗するaformat: { with: some_regex }や anなど、フィールドに特定の値を必要とする検証がある場合、検証の設定は何らかの形で役立ちますか? 同じ状況で、他の検証が失敗する場合、その検証は役に立ちますか?inclusion: { in: some_array }presence: truelength: { }

同様に、{1..n} の長さの検証により、存在の検証が不要になる可能性がありますか?

さらに何かが起こっているのか、それともチェックが単に冗長なのかを調べようとしています。たとえば、Rails チュートリアルpresence: trueには電子メール アドレスの検証がありますが、形式の検証では、空白または nil のアドレスは許可されません。冗長に見えますか、それともスタイル/慣習ですか?

4

2 に答える 2

1

次のようなものを使用してformat: regexいて、空白または nil 属性によってレコード全体が無効になることを (単体テストで十分に簡単に) 保証できる場合は、存在を検証する必要はありません。状況と同じinclusion、そしてlength状況。

一般に、バリデーションを追加すること必ずしも悪いことではありません。ただし、属性が空白または nil の状況でモデルを徹底的にテストし、現在の検証で目的の結果が得られている場合は、問題ありません。

于 2012-05-11T19:07:06.553 に答える
0

言及されたものよりも弱い場合のプレゼンスの検証。入れたくない

validates presence: true

たとえば、

validates format: { with: some_regex }, allow_blank: false

後者はすでにnil価値のあるフィールドで状況をカバーしているので。

于 2012-05-11T19:10:32.823 に答える