6

Saripaar検証ライブラリhttps://github.com/ragunathjawahar/android-saripaarを使用して、フォームの1つを検証しています。ライブラリは、フォームを検証するための多くの定型コードを回避するため、非常に便利です。ただし、ライブラリはウィジェットで注釈を使用します。以下に例を示します。

@Password(order = 1)
@TextRule(order = 2, minLength = 6, message = "Enter at least 6 characters.")
private EditText passwordEditText;

order属性は、検証が行われる順序を指定する属性です。これが私の問題です:message属性は定数式を取ります。文字列リソースファイルからこれを設定する必要があります。エラーメッセージを後で国際化できるようにします。私はすでに以下を試しました:

message = getResources().getString(R.string.err_msg)

ただし、コンパイル時定数が必要なため、機能しないようです。

誰かが私に同じことを手伝ったり、回避策を案内したりできますか?

4

1 に答える 1

18

次の構文を使用します:

//private variable in the class declaration section
private EditText txtFirstName=null; 
@Required(order = 2,  messageResId  = R.string.err_required_field)

それはlibのドキュメントにあります(そしてlib自体は素晴らしいものです)。

于 2013-02-24T19:03:39.760 に答える