を保存するときに、次の正規表現は、末尾のスペースを許可する電話番号を(ただし、何だったかもしれない)、検証し、それらを削除する:検証正規表現形式は、エントリのスペースを許可するものの、レコード
validates :phone,
:presence => true,
:format => {:with => /\(?[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}[ ]*\z/}
私ができるようにしたい理由一部のユーザーが誤って入力する可能性があるため、最後のスペースは簡単です。
私ができることをしたいのは、検証中にこれらのスペースを許可することですが、レコードを保存するときに、先行/後続のスペースを取り除きます。このようにして、ユーザーは小さな "間違い"(つまり最後にスペース)を作成することができますが、データベースに保存された "完全に有効な"値(この場合は電話番号)は保存されます。
保存する前に各フィールドを特別にトリミングする必要がないように、これを(モデル、フィールドごとに)自動的に行うことはできますか?あなたは一部のフィールドだけのためにこれをやっている場合は
ありがとうございます、これは良いスタートです! – Zabba