Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<script src="http://cdnjs.cloudflare.com/ajax/libs/knockout/2.2.0/knockout-min.js"></script>
<script src="https://raw.github.com/ericmbarnard/Knockout-Validation/master/Src/knockout.validation.js
"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <input type="checkbox" data-bind="checked: Approve" />
  <button type="button" data-bind="click: Validate">Submit</button>
</body>
</html>
 
function VM()
{
  var self = this;
  
  self.Approve = ko.observable(false).extend({
    checked: { message: 'Approval required' }
  });
  
  self.Errors = ko.validation.group(self);
  
  self.Validate = function(){
     if(self.Errors().length > 0)
       self.Errors.showAllMessages();
  };
}
ko.applyBindings(new VM());
ko.validation.registerExtenders();
ko.validation.rule['checked'] = {
    validator: function (value) {
        if (!value) {
            return false;
        }
        return true;
    }
};
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers