小编Bra*_*rad的帖子

Knockout验证 - 如何显示单个错误消息

确实在提交验证时查看了我的视图模型, 如此处所述.

除"提交"操作外,我的表单还有"保存进度"操作.它以相同的方式提交给服务器,但所需的字段较少.

我想保留它们目前在View Model中的四个绝对必需的字段... 即将它们保存在更大的验证组中以供提交.

Knockout Validation中是否有一种方法可以像showAllMessages()完整验证组一样简单地显示特定消息?我查看了源代码,但找不到任何showMessage()附加到单个错误的内容.

或者,有没有办法从我的视图模型中选择字段并将它们放在自己的验证组中(但也将它们保存在更大的组中)?

所以,作为一个例子:

var ViewModel = ko.validatedObservable({
  requiredForSave1:  ko.observable().extend({ required: true }),
  requiredForSave2:  ko.observable().extend({ required: true }),
  requiredForSubmit: ko.observable().extend({ required: true })
  // ... and many more.
});

$('#sumbit').on('click', function(){

  //check the entire validation group
  if ( ViewModel.errors().length === 0 ){
    doSubmit();
  }
  else{
    ViewModel.errors.showAllMessages();
  }
});

$('#save').on('click', function(){

  //check only part of the validation group
  if ( ViewModel.requiredForSave1.isValid() &&
       ViewModel.requiredForSave2.isValid() ){

    doSubmit();
  } …
Run Code Online (Sandbox Code Playgroud)

javascript validation knockout.js knockout-validation

9
推荐指数
1
解决办法
7717
查看次数