semantic-ui的表单使用
semantic-ui 的表单使用
最近找了一款ui库,jquery可以使用的。可以进行个性化定制,感觉还不错。
现状
简单阐述下该ui的现状吧,目前止步于2.4的版本,github商讨了一波。大致是死掉了,很久没有再接着更新了,留下了一些问题。接着便有人基于该库进行继续迭代link,赞一个
基于上述说法,个人推荐直接使用网友接着开发的,之前的功能保留,而且还在持续添加新的组件。同时历史遗留的bug也得以解决
form使用 demo
- form表单使用,一般涉及到如下几个
- 校验规则
- 你有我无
- 跳转到指定的错误位置
- 获取值
- 同一个意思涉及到多种表单类型(eg: 有其他时,输入,于是上面的单选框就不用进行校验)
现针对上面的一一进行处理
校验规则
$('.ui.form').form({
on: 'blur',
fields: {}
})
目前有两种显示错误方式
- 当前表单下方,需要添加
<div class="ui error message"></div>
- 设置
inline: true
校验规则两种写法
- 简单方法
fields: {
name : 'empty',
skills : ['minCount[2]', 'empty'],
terms : 'checked'
}
- 复杂点【可以进行自定义】
fields: {
name: {
identifier: 'name',
rules: [
{
type : 'empty',
prompt : 'Please enter your name'
}
]
},
skills: {
identifier: 'skills',
rules: [
{
type : 'minCount[2]',
prompt : 'Please select at least two skills'
}
]
},
terms: {
identifier: 'terms',
rules: [
{
type : 'checked',
prompt : 'You must agree to the terms and conditions'
}
]
}
}
- 简单方法
- 当前表单下方,需要添加
你有我无【动态添加校验规则】
目前直接通过值的判断,来进行控制是否显示
$('#input').on('input', (e) => {
const value = e.target.value
if (value) {
$('.ui.form').form('remove rule', 'language')
/**
* 有点版本还需要手动去清除样式
* 有些可以使用 validate field 进行单独校验即可
*/
} else {
$('.ui.form').form('add rule', 'language', {
rules: [
{
type: 'checked',
prompt: '选择一门你喜欢的语言'
}
]
})
$('.ui.form').form('validate field', 'language')
}
})
跳转到指定的错误位置
由于使用了该库的样式,导致获取错误信息的位置
scrollTop为0,主要原因是对html设置了height: 100%
因而需要尝试其他方式在
onFailure中进行处理setTimeout(function() {
// 获取第一个错误位置
var res = $('.field.error')[0].getBoundingClientRect()
var top = document.scrollingElement.scrollTop + res.y
// 此处有一个疑惑点 为何需要 -120 目前没有深入研究
$(document.scrollingElement).scrollTop(top - 120)
}, 16)
获取值
一般的都可以通过在onSuccess中的fields可以拿到所有name的值,但是针对checkbox多选时,一直拿到的是最后一个值,按道理是数组,多个值才对,因而需要注意其使用规范html
<input type="checkbox" name="books[]" value="自传">
校验
books: {
identifier: 'books[]',
rules: [{
type: 'checked',
prompt: '选择喜欢的书籍'
}]
}
之后通过上面的
fields便可以拿到值,只是需要过滤一下false情况即可同一个意思涉及到多种表单类型
类似
你有我无的处理方式,只是在获取值时,需要有一个侧重点,是否是输入了其他,上面的单选框就失效,还是怎么的。反正两个值都可以拿到,只是在传给后台时,稍微处理一下即可
细节处理
针对 type=radio 和 type=checkbox 校验,若是需要显示错误信息,目前尽可能使用第二种方式,不然提示信息会默认选择第一个值作为错误信息显示,这样明显有问题,只有采用第二种才可以进行自定义错误信息显示
总结
semantic-ui的表单使用的更多相关文章
- vue + element ui 阻止表单输入框回车刷新页面
问题 在 vue+element ui 中只有一个输入框(el-input)的情况下,回车会提交表单. 解决方案 在 el-form 上加上 @submit.native.prevent 这个则会阻止 ...
- element ui form表单清空规则
公司项目重构,经过商定使用element ui.在重构项目的时候发现一下element ui上很蛋疼的东西. 例如,这个form表单就是一个.趁着在高铁上没事,把想写的东西写一下. 先说一下eleme ...
- Easy UI form表单提交 IE浏览器不执行success ,以及 datagrid 展示过慢
最近在做一个Easy ui的项目 发现了一些问题,在这里总结下 1.表单提交,后端代码 public ActionResult Save(Request model) { ResultInfo _in ...
- vue+element ui 重置表单
<el-dialog :title="addForm.title" :visible.sync="dialogFormVisible" width=&qu ...
- element ui FORM表单
form表单 Form-Item Slot [label] 旧版语法 <el-form-item label="活动名称" prop="name"> ...
- easy ui 给表单元素赋值input,combobox,numberbox
①给input控件 class="easyui-textbox" <input class="easyui-textbox" data-options=& ...
- 20151124 Jquery UI form 表单变成dialog
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- UI自动化测试表单重要代码
public class frame { public static void main(String[] args) { // TODO Auto-generated method stub Sys ...
- Ionic4.x 中的 UI 组件(UI Components)表单相关组件
1.ion-input 单行文本框 2.ion-toggle 开关 3.ion-radio-group.ion-radio 单选按钮组 4.ion-checkbox 多选按钮组 5.ion-selec ...
- semantic-ui 表单
1.定义表单 先看一个基础的表单,再讲解一下: <form class="ui form" method="post" action="&quo ...
随机推荐
- NOI数论姿势瞎总结(Pi也没有)
Miller-Rabin素数检测 费马小定理:没人不会吧. 二次探测:如果\(n\)是质数,\(x^2 \equiv 1\ (\mod n)\)的解只有\(x \equiv 1\)或\(x \equi ...
- Unity3D_(Shuriken粒子系统)制作简单的烟花爆炸效果
Unity中的粒子系统可以用于制作特效,如开枪火花效果,简单爆炸效果等.(毕竟程序员不是设计师,简单的特效都没有问题,要制作一些非常美观的特效还是需要多了解跟美术有关的知识.) 粒子系统实现一个简单的 ...
- Eclipse常用快捷键与IDEA中的对比.
最近从github下载了一些项目,但是看了一下使用的编译器是IDEA的,所以就下载了一个IDEA. 这边可以提供几个网址:只要是针对各个下载idea之后的一些激活相关的帮助. http://idea. ...
- 关于虚拟机中Linux系统无法上网之后的解决方案
我刚刚安装好虚拟机上的Linux的时候,宿主机网络正常,但虚拟机中虽然显示网络连接正常,但无法上网,因此我打开了网络设置 这是默认设置,但上不了网,而按照网上的查找结果,选择NAT是没错的,但仅限于w ...
- 2019Java第十四周课程总结
关于记事本代码上周已经写过了,这次把他粘过来了,如下: 记事本 package jishiben; import java.awt.event.ActionEvent; import java.awt ...
- DS博客大作业--树 (陈梓灿组)
1.树的存储结构说明 定义的结构体中,name是用于存放文件名称,string类型是字符串类型,定义了child孩子结点和brother兄弟结点. 2.树的函数说明 1.main函数 main函数中主 ...
- LeetCode 120. 三角形最小路径和(Triangle)
题目描述 给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径 ...
- MQ常问的问题
目录 1:什么场景使用了mq?直接掉接口不行吗? 2:用消息队列都有什么优点和缺点? 3:Kafka.ActiveMQ.RabbitMQ.RocketMQ 都有什么区别? 4:那你们是如何保证消息队列 ...
- In an ASP.NET website with a codebehind at what point are the .cs files compiled?
In an ASP.NET website with a codebehind at what point are the .cs files compiled? This applies to We ...
- shiro 注解不生效
springboot集成shiro时,使用@RequiresRoles注解不生效. shiro @RequiresRoles底层使用springaop技术: 1.@RequiresRoles修饰ser ...