我用下面的代碼來驗證numericality Rails中驗證Numericality條件:英語和阿拉伯數字
validates :number, :numericality => {:greater_than_or_equal_to => 500}
而且它工作得很好,但後來我加了正則表達式來允許阿拉伯數字是這樣的:
validates :number, :format =>{:with => /[0-9\u0660-\u0669]*/}
這裏它接受阿拉伯數字,但條件greater_than_or_equal_to => 500
只適用於英文數字,我也需要它來支持阿拉伯數字。
'/ [0-9 \ u0660- \ u0669] * /'匹配任何字符串。使用'+'而不是'*'來匹配至少1次。 –
我試過驗證:number,:format => {:with =>/[0-9 \ u0660- \ u0669] + /},:numericality => {:greater_than_or_equal_to => 500} 但是不起作用阿拉伯數字現在是允許的,但條件'greater_than_or_equal_to => 500'不起作用) –
是的,因爲這並不明顯。那麼試試'/ \ A([5-9 \ u0665- \ u0669] [0-9 \ u0660- \ u0669] {2} | [0-9 \ u0660- \ u0669] {4,})\ z/' –