ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 主题特性 1. **简单**,js 配置 className,css 定义主题样式 2. **独立**,不同表单可以应用不同主题 3. **自由**,除了主题参数,其他参数也都可以配置到主题中 4. **灵活**,主题配置本质上是在传参,优先级高于全局配置,但是又会被调用时的传参覆盖 ## 配置主题 ### (1). 调用`$.validator.setTheme()`接口 ~~~javascript $.validator.setTheme("themeName", { formClass: "nice-flat", msgClass: "n-right" }); ~~~ 其中的`formClass`参数定义了 CSS 的名称空间,表单初始化后自动添加到 form 上面。`msgClass`参数定义了每条消息拥有的 CSS 类。虽然这两个参数没有要求,但是建议`msgClass`按照以下 4 个类名命名: 1. `n-top`:使消息显示在输入框上边 2. `n-right`:使消息显示在输入框右边 3. `n-bottom`:使消息显示在输入框下边 4. `n-left`:使消息显示在输入框左边 nice-validator 对`msgClass`有一个方向的检测机制,包含`top|right|bottom|left`的名称可以控制消息插入的位置。 ### (2). 配置更多参数 > 1. 每个主题可以配置所有参数,互不干扰 > 2. 配置优先级:`data-validator-option`\>`options`\>`theme options`\>`global options` ## 编写主题样式 主题 CSS 样式可以写在 jquery.validator.css 文件中,也可以定义在你的其他样式表中。 官方的主题样式使用[stylus](http://stylus-lang.com/)工具开发,所有主题配置文件放置在 src/themes 目录,然后通过src/jquery.validator.styl 文件导入,编译该文件就得到 dist 目录下的 jquery.validator.css 文件。 以下是 simple 系列主题代码: ~~~javascript // local/zh-Cn.js 中的配置 $.validator.setTheme({ 'simple_right': { formClass: 'n-simple', msgClass: 'n-right' }, 'simple_bottom': { formClass: 'n-simple', msgClass: 'n-bottom' } }); ~~~ ~~~css /* src/themes/simple.styl */ .n-simple { .msg-wrap { position: absolute; z-index: 1; .n-icon { background-image: url(images/validator_simple.png); } } .n-top { .msg-wrap { bottom: 100%; } } .n-bottom { .msg-wrap { top: 100%; } } .n-left, .n-right { margin-top: 5px; } .n-bottom .msg-wrap { margin-top: 3px; } .n-tip { .n-icon {display:none;} } } ~~~ ## 自定义消息结构 参见[msgMaker](https://validator.niceue.com/docs/options.html#section-2-9)参数