zoukankan      html  css  js  c++  java
  • 在ASP.NET MVC中使用Knockout实践07,自定义验证信息的位置与内容

    在前两篇中,体验了Knockout的基本验证和自定义验证。本篇自定义验证信息的显示位置与内容。

    自定义验证信息的显示位置

     

    通常,Knockout的验证信息紧跟在input后面,通过validationMessage属性可以自定义验证信息的显示位置。

    @{
    
        ViewBag.Title = "Index";
    
        Layout = "~/Views/Shared/_Layout.cshtml";
    
    }
    
    <style type="text/css">
    
        .error {
    
            color: red; 
    
        }
    
    </style>
    
    <div>
    
        <input type="text" data-bind="value: name"/>
    
        <p class="error" data-bind="validationMessage: name"></p>
    
    </div>
    
    @section scripts
    
    {
    
        <script src="~/Scripts/knockout-3.2.0.js"></script>
    
        <script src="~/Scripts/knockout.validation.js"></script>
    
        <script src="~/Scripts/zh-CN.js"></script>
    
        <script type="text/javascript">
    
            
    
            //使用构造函数创建一个View Model
    
            var Product = function () {
    
                this.name = ko.observable().extend({ minLength: 3 });
    
            };
    
         
    
            //创建实例
    
            var product = new Product();
    
            //验证设置
    
            var knockoutValidationSettings = {
    
                insertMessages: false,
    
                decorateElement: false,
    
                errorMessageClass: 'error',
    
                errorElementClass: 'error',
    
                errorClass: 'error',
    
                errorsAsTitle: true,
    
                parseInputAttributes: false,
    
                messagesOnModified: true,
    
                decorateElementOnModified: true,
    
                decorateInputElement: true
    
            };
    
            ko.validation.init(knockoutValidationSettings, true);
    
           
    
            //绑定
    
            ko.applyBindings(product);
    
           
    
            $(function () {
    
                ko.decorateElement = false;
    
            });
    
        </script>
    
    }
    

    以上,
    ● 把验证信息显示在了data-bind属性值为validationMessage: name的input上
    ● 由于重新设置了Knockout-Validation,必须使用ko.validation.init()重新初始化
    ● insertMessages表示是否把验证信息显示在紧跟input的位置
    ● decorateElement表示是否要为input加上class="error"

    12

     

    自定义验证信息的内容

     

    如果想重写验证信息的内容,修改如下:

            var Product = function () {
    
                this.name = ko.observable().extend({ minLength: { params: 3, message: "要我说最小长度是3" } });
    
            };

    13

  • 相关阅读:
    css3 preserve-3d 的理解 注意IOS上的兼容
    javascript JSMpeg.js 播放视频解决不用全屏也能播放(也支持自动播放哦)
    linux写系统服务的方法
    mysql connect refuse解决方法
    SQLite-CONSTRAINTS(约束)
    Java集合
    自定义一个简单的SegmentedControl
    symbolicatecrash解析crash文件
    django应用的测试
    WordPress调用page页面内容方法
  • 原文地址:https://www.cnblogs.com/darrenji/p/4070488.html
Copyright © 2011-2022 走看看