0

、特定の文字列にならないようにフォームフィールドを検証する必要があります。たとえば、誰かがテキストフィールドに「hello」を入力してフォームを送信した場合、特定の文字列が許可されていないというエラーをスローするにはどうすればよいですか?一貫性のある感じを保つことができるように、javascriptを使用してクライアント側でこれを行うことを回避する方法はありますか?

validates_presence of :field_name, #condition here
4

2 に答える 2

1

カスタム検証に合格する必要があります

INVALID_STRING = %W(string1, string2, string3, ... )
def valid_field_name    // valid_name
  if INVALID_STRING.include?(self.field_name)
    errors[:base] << "field_name you enter that not valid." unless self.field_name.blank?
  end
end

このメソッドを呼び出す

 validate:valid_field_name
于 2012-10-05T05:05:12.803 に答える
1

Railsでのカスタム検証は非常に簡単です。ここでは、属性「name」が文字列の配列に含まれていない場合にエラーをスローする例を示します。

WHITELIST = %w(string1 string2 otherstring)

validate :name_is_ok

def name_is_ok
  unless WHITELIST.include? name 
    errors[:name] << "is not valid" 
  end
end
于 2012-10-05T01:24:47.497 に答える