小编Max*_*nog的帖子

如何使用ViewModel和Databinding实现验证?

使用ViewModel和Databinding验证表单数据的最佳方法是什么?

我有一个简单的Sign-Up活动,该活动链接绑定布局和ViewModel

class StartActivity : AppCompatActivity() {

    private lateinit var binding: StartActivityBinding
    private lateinit var viewModel: SignUpViewModel

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        viewModel = ViewModelProviders.of(this, SignUpViewModelFactory(AuthFirebase()))
                .get(SignUpViewModel::class.java);

        binding = DataBindingUtil.setContentView(this, R.layout.start_activity)
        binding.viewModel = viewModel;

        signUpButton.setOnClickListener {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

ViewModel4 ObservableFieldssignUp()在向服务器提交数据之前应该验证数据的方法。

class SignUpViewModel(val auth: Auth) : ViewModel() {
    val name: MutableLiveData<String> = MutableLiveData()
    val email: MutableLiveData<String> = MutableLiveData()
    val password: MutableLiveData<String> = MutableLiveData()
    val passwordConfirm: MutableLiveData<String> = MutableLiveData()

    fun signUp() {

        auth.createUser(email.value!!, password.value!!)
    }
} …
Run Code Online (Sandbox Code Playgroud)

validation android kotlin android-databinding android-viewmodel

9
推荐指数
2
解决办法
5706
查看次数