标签: validationrules

使用WPF验证规则并禁用"保存"按钮

在单击"保存"按钮之前,我有一个页面,其中几个文本框不能为空.

<TextBox...

                <TextBox.Text>
                    <Binding Path ="LastName" UpdateSourceTrigger="PropertyChanged">

                        <Binding.ValidationRules>
                            <local:StringRequiredValidationRule />
                        </Binding.ValidationRules>                              
                    </Binding>
                </TextBox.Text>
Run Code Online (Sandbox Code Playgroud)

我的规则有效.我的文本框周围有一个红色边框,直到我输入一个值.所以现在我想将此验证规则添加到我的其他文本框中.

现在,如何在页面没有错误之前禁用"保存"按钮?我不知道要检查什么是否有任何验证错误.

validation wpf validationrules

28
推荐指数
3
解决办法
5万
查看次数

ValidationRules没有绑定

我想在文本框上使用ValidationRules(及其UI效果),而不实际将任何内容绑定到文本框.

我想使用文本框进行一些输入,这些输入没有绑定到任何东西,但需要在使用ValidationRules丢失焦点后验证输入.

可以吗?

<TextBox.Text>
   <Binding Path="" UpdateSourceTrigger="LostFocus">
     <Binding.ValidationRules>
        <local:IntegersOnlyValidator/>
     </Binding.ValidationRules>
   </Binding>
 </TextBox.Text>
Run Code Online (Sandbox Code Playgroud)

data-binding validation wpf validationrules

16
推荐指数
1
解决办法
7970
查看次数

WPF绑定:对ValidationRules使用DataAnnotations

我已经阅读了很多关于WPF验证的博客文章DataAnnotations.我在想,如果有使用干净的方式DataAnnotations作为ValidationRules对我的实体.

所以没有这个(来源):

<Binding Path="Age" Source="{StaticResource ods}" ... >
  <Binding.ValidationRules>
    <c:AgeRangeRule Min="21" Max="130"/>
  </Binding.ValidationRules>
</Binding>
Run Code Online (Sandbox Code Playgroud)

你必须拥有你的

public class AgeRangeRule : ValidationRule 
{...}
Run Code Online (Sandbox Code Playgroud)

我希望WPF Binding能够看到Age属性并查找DataAnnotation,如下所示:

[Range(1, 120)]
public int Age
{
  get { return _age; }
  set
  {
    _age = value;
    RaisePropertyChanged<...>(x => x.Age);
  }
}
Run Code Online (Sandbox Code Playgroud)

任何想法,如果这是可能的?

wpf binding validationrules data-annotations

13
推荐指数
2
解决办法
2万
查看次数

如何在Yii2中指定一个大于或小于特定数字或值的验证规则?

我有一个带有验证规则的模型,例如:

[['x'], 'integer'],
[['x'], 'unique'],
Run Code Online (Sandbox Code Playgroud)

现在我该如何添加如下规则:

x <100
或类似
x> = 100

model validationrules yii2

7
推荐指数
1
解决办法
5773
查看次数

使用NRule的数据库驱动器规则引擎

我正在创建一个业务规则引擎,并计划向用户提供NRules框架。
https://github.com/NRules/NRules
但是我想知道是否可以从数据库本身生成规则。

我有一个数据库表,其中保存了一些规则。
年龄> 20
名=='约翰'

条件可以是多个,即使属性名称可以更改,也不会硬编码。

我浏览了一篇博客文章,该文章的内容相同,但使用表达式树。
http://coding-time.blogspot.in/2011/07/how-to-implement-rule-engine-in-c.html

我可以使用NRules框架实现相同的功能吗(如果可以),在这里我可以找到一些代码示例。

.net c# validationrules nrules

7
推荐指数
0
解决办法
1775
查看次数

在Codeigniter中,如何将第三个参数传递给回调(表单验证)?

我目前正在使用Form Validation类(在Codeigniter上)和设置规则.

它有两个参数(codeigniter.com/user_guide/libraries/form_validation.html):

$this->form_validation->set_rules('username', 'Username', 'callback_test[abc]');
Run Code Online (Sandbox Code Playgroud)

但是第三个参数呢?还有第四个......?可能吗?

validation codeigniter callback validationrules codeigniter-2

6
推荐指数
1
解决办法
1万
查看次数

如何从FluentValidator获取验证规则

给定一个验证器扩展AbstractValidator并实现IValidator,我想得到它的规则.似乎没有办法做到这一点?

.net c# validation validationrules fluentvalidation

6
推荐指数
1
解决办法
1478
查看次数

Javascript正则表达式将文本字段限制为仅限数字(必须允许不可打印的键)

我收到了以前开发人员的PHP/JS代码,我需要在手机号码字段中添加号码验证.我已经有了HTML验证,但是我需要添加一个,如果有人按下了无效的键,它不会显示为仅稍后用红色突出显示该字段,因为它包含无效的输入.

我已经看过很多正则表达式并且尝试了它们,但是它们或者我需要的效果是:如果输入了字母或特殊字符,不接受也不显示,所有其他输入(数字,键)被接受(我需要根本不显示无效字符,不显示然后删除).正在运行最多的正则表达式是这样的:

function filterNonDigits(evt)
{
  var event = evt || window.event;
  var keyentered = event.keyCode || event.which;
  keyentered = String.fromCharCode(keyentered);

  //var regex1 = /[0-9]|\./;
  var regex2 = /^[a-zA-Z.,;:|\\\/~!@#$%^&*_-{}\[\]()`"'<>?\s]+$/;

  if( regex2.test(keyentered) ) {
    event.returnValue = false;
    if(event.preventDefault) event.preventDefault();
  }
Run Code Online (Sandbox Code Playgroud)

当我使用注释的regex1(IF条件反转)时,自然它将输入限制为只有数字,从而阻止所有键,如Delete,BackSpace等.当使用regex2时,我仍然无法按下删除或小键盘上的数字.

所以我的问题是,上面的代码可以修改为只接受数字而且还允许键吗?另一个重要的一点是,我需要一种不对这些键使用键码(8,24等)的方法,以确保可以使用所有键盘类型.


新更新:

所以我的解决方案如下:如果存在"oninput"属性,我使用Ehtesham提供的解决方案,如果不存在,则备份使用Rohan Kumar提供的解决方案.所以它是这样的:

if (obj.hasOwnProperty('oninput') || ('oninput' in obj)) 
{
    $('#mobileno').on('input', function (event) { 
        this.value = this.value.replace(/[^0-9]/g, '');
    });
} 
else 
{
    $('#mobileno').on('keypress',function(e){
        var deleteCode = 8;  var backspaceCode = 46;
        var key = e.which;
        if ((key>=48 && key<=57) || …
Run Code Online (Sandbox Code Playgroud)

javascript regex validation jquery validationrules

6
推荐指数
2
解决办法
6万
查看次数

在Laravel中,我需要使用哪些验证规则来检查数字中的字符数?

我在Laravel中使用验证规则,并且我正在尝试检查数字中的字符数.

这是我的尝试:

protected static $rules = [
    'zip_code' => 'required|size:5|integer'
];
Run Code Online (Sandbox Code Playgroud)

不幸的是,检查邮政编码是5号而不是邮政编码是5个字符.我需要设置哪些规则来检查邮政编码是否正好是5个字符,而不管实际数字是多少?

php validation validationrules laravel

6
推荐指数
1
解决办法
7181
查看次数

具有其他条件的验证规则required_if(Laravel 5.4)

我对带有嵌套条件的验证规则有疑问。

class StoreRequest extends Request
{
        public function authorize(){
        return true;
        }

        public function rules(){
                return [
                    'type_id'     => 'required|integer',
                    'external_id' => 'required_if:type_id,==,3|integer',
                ];
        }
}
Run Code Online (Sandbox Code Playgroud)

实际上,我想:-仅在type_id等于3时检查external_id-并检查它是否为整数。

发布表单时,当我选择等于3的type_id时,规则将起作用。但是,如果我选择另一个type_id(如1或2),则验证不会通过:

external_id必须为整数。

我尝试添加可为空的条件,但required_if不再起作用

你有什么主意吗?

php validation validationrules laravel laravel-5.4

6
推荐指数
2
解决办法
8016
查看次数