2016-10-11 10 views
0

RoRを学ぶために構築している私のアプリでは、検証の詳細を学びたいと思っています。正規表現を使用してカスタムのバリデーションを作成するだけでなく、アドレス、通貨、日付/時刻の書式設定、言語などのデータの一般的な検証に最も良い宝石は何か、と思いましたか?これは、新しいアプリで使用する基本セットを構築するためです。Rails 5 - データ検証の宝庫

私が使用するには、以下これらに出くわした:

インコターム、測定単位(UNECEまたはISO20022より)またはVAT IDはどうですか?私が見なければならない他のものはどれですか?

+0

これ以外の唯一のものは、validates_lengths_from_databaseです。 – David

+1

ちょうど経験からのコメント。複数の接続を持つ大規模なアプリケーションでレールの一意性検証に依存しないでください。 DBに適切な一意のインデックスがあることを確認してください。 –

答えて

1

あなたが検証に深く掘るとして、あなたは、特定のテーマ(メール/通貨など)を処理するために構築された必要な宝石はちょうどあなたの特定のユースケースのためのカスタム検証を開発するほどきちんとしていないことがわかります。たとえば、電子メールに正規表現以外は使用しないでください。大文字の後に@記号といくつかの文字があることを確認します(.co/.uk/.me/.usなど)。あらかじめ作られた宝石を保証することはほとんどありません。通貨のバリデーションは通常、あなたが特定のフォーマット#を期待しているのでシンプルになるでしょう。##しかし、それを逸脱すると、別のカスタムバリデータを実行して外のライブラリに落ちない方がはるかに良いでしょう。あなたが作成したプリセットリストから国を選択させる可能性があるので、通常国は国別の検証を行わないので、presenceのような標準のレール検証で十分です。それは、私が使用したいと思っている検証宝石は、どのテーマにも特化していないクライアント側の検証を扱うのが好きですが、それは唯一の「4.2」のための "clientSideValidations"宝石です。