Sunday, January 17, 2016

Knockout Validation



   var owner = new ManageBooksUI();
                owner.BookObj = new BooksDTO(new Object(),true);


function BooksDTO(Book,IsRequired) {
    var self = this;

// Enable or Disable Validation
    if (IsRequired == undefined || IsRequired == null)
        IsRequired = false;

    enable = ko.observable(IsRequired);

 self.BookName = ko.observable(Book.BookName || '').extend({ required: { onlyIf: enable } });

  self.Parts = ko.observable(Book.Parts).extend({
        required: { onlyIf: enable }, number: true
    });

 // Riyaz Added Using in Special Order Page 07-12-2015
    self.Qty.subscribe(function (reqQty) {

        if (reqQty == 0 || reqQty > self.QtyonHand()) {
            $("#MessageLabel").html("Error Message");
            $('#NotificationModel').modal('show');
            self.Qty(1);
        }
    });

//Date Validation
 self.strOfficialholidays = ko.observable(Officialholiday.strOfficialholidays).extend({
        required: { onlyIf: enable },
        date: true, pattern: '([0-9]{4}[-](0[1-9]|1[0-2])[-]([0-2]{1}[0-9]{1}|3[0-1]{1})|([0-2]{1}[0-9]{1}|3[0-1]{1})[-](0[1-9]|1[0-2])[-][0-9]{4})'
    });

  //Validation for Add Edit Books (13-01-2016)
    self.validationModel = ko.validatedObservable({
        BookName: self.BookName,
        AuthorName: self.AuthorName,
        MinLevel: self.MinLevel,
        BookClassificationID: self.BookClassificationID,
        Parts: self.Parts,
        TotalQty:self.TotalQty
    });
// Register Validation
    ko.validation.init({
        registerExtenders: true,
        messagesOnModified: true,
        insertMessages: true,
        decorateElement: true
    });

No comments:

Post a Comment