我打算在android中实现表单验证。我使用下面的代码完成了空字段验证。(对于编辑文本mTitleText)
mTitleText.setOnFocusChangeListener(this);
@Override
public void onFocusChange(View v, boolean hasFocus) {
if( mTitleText.getText().toString().length() == 0 )
mTitleText .setError( "This Fieid should not be empty " );
}
}
但问题是,即使打开表单页面,它也会因空字段而显示错误。 看到图片。除了可以使用的onfocus更改之外还有什么东西吗? http://imageshack.us/photo/my-images/507/screenshotsd.png/
答案 0 :(得分:1)
设置
mTitleText.setVisible(View.GONE);
在表单页面加载(表示onResume)
并更新
@Override
public void onFocusChange(View v, boolean hasFocus) {
if( mTitleText.getText().toString().length() == 0 )
mTitleText .setError( "This Fieid should not be empty " );
mTitleText.setVisible(View.VISIBLE);}
答案 1 :(得分:0)
你应该看一下TextWatcher
。你可能需要afterTextChanged
- 方法。
答案 2 :(得分:0)
为什么不在提交表单时测试表单(意思是,一旦用户按下“提交”按钮,测试所有字段)?测试每个领域失去焦点的动力是什么?