wpf 验证方法
效果图,当放鼠标到文本框上会显示出错的提示。
aaarticlea/png;base64,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" alt="" />
1、在对文本框绑定属性Count,并在绑定属性时添加NotifyOnValidationError=True,ValidatesOnExceptions=True,当通知更新源时会触发验证,如果验证失败则会触发Validation.Error事件,此事件是隧道事件,可以写在上一层对象中
<Grid Validation.Error="Grid_Error">
<TextBox Name="txt" Text="{Binding Path=Count,UpdateSourceTrigger=PropertyChanged,NotifyOnValidationError=True,ValidatesOnExceptions=True}"/>
</Grid>
2、验证过程放在属性的set中,如下MyValide,失败时抛出异常。
private int c; public int Count
{
get { return c; }
set
{
MyValide(value);
c = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("Count"));
}
}
} public void MyValide(int v)
{
if(Regex.Match(v.ToString(),@"^\d{6}$").Success==false)
{
throw new ArgumentException("请填写6个数字!");
}
}
3、如果抛出异常则有Error事件处理,在文本框上的toolTip属性中显示提示信息。
private void Grid_Error(object sender, ValidationErrorEventArgs e)
{
if (Validation.GetErrors(txt).Count() > )
{
txt.ToolTip = Validation.GetErrors(txt)[].ErrorContent.ToString();
}
else
txt.ToolTip = null;
}
wpf 验证方法的更多相关文章
- WPF:验证登录后关闭登录窗口,显示主窗口的解决方法
http://www.27ba.com/post/145.html WPF:验证登录后关闭登录窗口,显示主窗口的解决方法 最近想做一个基于Socket的通讯工具,想模仿QQ那样,需要先登录,登录成功后 ...
- 理解和使用WPF 验证机制
博客 学院 下载 更多 写博客 发布Chat 登录注册 理解和使用WPF 验证机制 原创 2013年06月20日 11:15:37 7404 首先建立一个demo用以学习和实验WPF Data Val ...
- 基于 Token 的身份验证方法
使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录.大概的流程是这样的: 客户端使用用户名跟密码请求登录 服务端收到请求,去验证用户名与密码 验证成功后,服务端会签发一个 Toke ...
- validate插件深入学习-04自定义验证方法
自定义验证方法 jQuery.validator.addMethod(name,method,[,message]) name: 方法名 method: function(value,element, ...
- 基于 Annotation 拦截的 Spring AOP 权限验证方法
基于 Annotation 拦截的 Spring AOP 权限验证方法 转自:http://www.ibm.com/developerworks/cn/java/j-lo-springaopfilte ...
- 封装jQuery Validate扩展验证方法
一.封装自定义验证方法-validate-methods.js /***************************************************************** j ...
- jquery validate 自定义验证方法
query validate有很多验证规则,但是更多的时候,需要根据特定的情况进行自定义验证规则. 这里就来聊一聊jquery validate的自定义验证. jquery validate有一个方法 ...
- jQuery Validate 表单验证插件----自定义一个验证方法
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二.引入依赖包 <script src="../../scripts/j ...
- CAS自定义登录验证方法
一.CAS登录认证原理 CAS认证流程如下图: CAS服务器的org.jasig.cas.authentication.AuthenticationManager负责基于提供的凭证信息进行用户认证.与 ...
随机推荐
- [Real World Haskell翻译]第27章 网络通信和系统日志 Sockets and Syslog
第27章 网络通信和系统日志 Sockets and Syslog 基础网络 在本书的前面几章,我们讨论了运转在网络上的服务.其中的两个例子是客户端/服务器架构的数据库和Web服务.当需要制定一个新的 ...
- 阿里云 Debian 9.2 安装 Java Web 环境
CentOS 源内包太旧,和本地开发环境不兼容的地方太多 系统配置 更新数据库与软件包 # apt-get update && apt-get -y upgrade 提示是否保留本地已 ...
- 武汉Uber优步司机奖励政策
·武汉奖励前提 *必须满足当周平均评分4.7星及以上,且当周接单率70%及以上,才有资格获得奖励 *刷单和红线行为立即封号并取消当周全部奖励及车费! *从4月20日起,所有ETC和机场高速费用不参与奖 ...
- LeetCode: 57. Insert Interval(Hard)
1. 原题链接 https://leetcode.com/problems/insert-interval/description/ 2. 题目要求 该题与上一题的区别在于,插入一个新的interva ...
- 关于iOS和Android的安装包更新笔记
关于iOS和Android的安装包更新问题 1. Android更新apk 1)使用DownloadManager下载 2)使用HttpClient下载 apk的下载不能使用ssl,即不能使用http ...
- WEB安全基础之sql注入基础
1.基础sql语句 注释 单行注释# %23--+ --加空格多行注释/**/ SELECT(VERSION()) SELECT(USER()) SELECT(database()) 查数据库 SEL ...
- 安装SQLSEVER与MySQL
昨天装了一整填的SQLSEVER,今天是把昨天遗留的问题给重新整合一下,上午安装MySQL的时候,是在网上找的帖子通过压缩包安装的,捣鼓了一上午,下午花不到一个小时, 去安装好了,我觉得通过压缩包安装 ...
- leetcode-最长无重复字符的子串
参考他的人代码:https://blog.csdn.net/littlebai07/article/details/79100081 给定一个字符串,找出不含有重复字符的最长子串的长度. 示例 1: ...
- 关于Filter中ServletRequest强转HttpServletRequest问题
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOE ...
- 初步了解CUDA(零)
初步了解CUDA,从历史开始,先不开发: