首页 \ 问答 \ Yii2基于最小值的条件验证规则(Yii2 conditional validation rule on basis of minimum value)

Yii2基于最小值的条件验证规则(Yii2 conditional validation rule on basis of minimum value)

当用户选择价格标记值= other用户不能输入小于250的值时,我在表格价格和价格中有2个字段。我需要yii2的验证规则,但它不起作用。 这是我的代码

        ['price', 'min' => 250, 'when' => function ($model) {
            return $model->priceMark == 'other';
        }],

I have 2 fields in a form pricemark and price, when user select pricemark value = other user can not enter a value less than 250. I need a validation rule for it in yii2 but its not working . here is my code

        ['price', 'min' => 250, 'when' => function ($model) {
            return $model->priceMark == 'other';
        }],

原文:https://stackoverflow.com/questions/41059166
更新时间:2021-06-07 20:06

最满意答案

尝试这个:

['price', 'number', 'min' => 250, 'when' => function ($model) {
    return $model->priceMark == 'other';
}, 'whenClient' => 'function (attribute, value) {
    return $("<field>").val() == "other";
}'],

其中<field>priceMark元素标识符,如其类或ID(即,如果型号名称为Price #price_pricemark )。


Try this:

['price', 'number', 'min' => 250, 'when' => function ($model) {
    return $model->priceMark == 'other';
}, 'whenClient' => 'function (attribute, value) {
    return $("<field>").val() == "other";
}'],

where <field> is the priceMark element identifier like its class or ID (i.e. #price_pricemark if model name is Price).

相关问答

更多

Yii2:安全验证条件(Yii2: safe validator on condition)

由于“安全”验证程序只是说明可以通过大规模分配来设置属性,因此该方法不适用。 它只是说当你使用load()方法时,属性可以得到一个值。 如果未标记为“安全”,则不会阻止使用例如$model->dhanwantri_bill_number = 'asdf'设置值。 所以这不是一个合适的解决方案。 更确切地说:当$model->validate() (通常用$model->save()调用)被调用时,'safe'属性不起作用。 它仅在调用$model->load()时使用。 如果你看看SafeVali ...

Yii2基于最小值的条件验证规则(Yii2 conditional validation rule on basis of minimum value)

尝试这个: ['price', 'number', 'min' => 250, 'when' => function ($model) { return $model->priceMark == 'other'; }, 'whenClient' => 'function (attribute, value) { return $("<field>").val() == "other"; }'], 其中<field>是priceMark元素标识符,如其类或ID(即,如果型号名称为P ...

Yii2选择字段的验证规则(Yii2 validation rule for select field)

是的你可以,但你有一个错误的变量赋值,即最后一个条件中的$params elseif (count($params)<2)你正在计数$params而不是$this->ingredients数组。 而且您不需要进行第一次检查,将该属性添加到所需的规则就足以检查提交时是否为空。 将验证功能更改为 public function checkIsArray( $attribute , $params ) { if ( count ( $this->ingredients ) > 5 ) { ...

在编辑案例Yii2中应用不同的验证规则(Apply different validation rule in edit case Yii2)

您可以使用方案实施不同的验证规则 在控制器中,您可以在不同操作或同一操作中的不同条件上设置不同的方案。 public function actionRegister(){ $model = new User; $model->scenario = 'register'; } 然后,您可以将不同的验证规则应用于模型中的特定方案 class User extends ActiveRecord { public function rules() { return [ ...

Yii验证规则 - 独特(Yii validation rule - unique)

查看UniqueAttributesValidator ,以及这个答案 。 在链接中,您将看到他们使用$this->attributename作为CUniqueValidator的criteria选项的params数组,但由于某种原因, $this->attributename对我来说是null 。 我相信这是因为$this没有正确传递给验证器,所以无论如何最好使用UniqueAttributesValidator类,因为它只是针对这些情况而制作的。 生成的sql将有一个像这样的WHERE子句: ...

Yii2验证规则用于具有相同名称的多个输入(Yii2 validation rule for multiple inputs with same name)

由于您的dynamic_name变量将是一个输入值数组,因此您可以使用新的each验证器。 它是在v2.0.4中添加的。 它接受一个数组并将每个元素传递给另一个验证器。 例如,要检查每个元素是否为整数: [['dynamic_name'], 'each', 'rule' => ['integer']], Since your dynamic_name variable will be an array of input values, you can use the new each valid ...

如何在Yii2验证规则消息中添加换行符(How to put line-breaks in Yii2 validation rules messages)

我已经解决了将这个添加到ActiveForm :: begin <?php $form = ActiveForm::begin([ 'fieldConfig' => [ 'errorOptions' => ['class' => 'help-block', 'encode' => false], ], ]); ?> 并且用一个简单的<br /> [['username'], 'required', 'message' => 'long mes ...

验证规则无效:规则必须在Yii2中指定属性名称和验证器类型(Invalid validation rule: a rule must specify both attribute names and validator type, in Yii2)

SimUser类中的第一条规则可能导致此错误。 return [ [['user_email', 'user_password_hash']], ... ]; 也许你的意思是: return [ [['user_email', 'user_password_hash'], 'required'], ... ]; First rule in your SimUser class is probably causing this error. return [ ...

Yii2中的外键验证规则(Foreign key validation rule in Yii2)

改变规则的顺序: [['parent_id'], 'integer'], [['parent_id'], 'exist', 'targetAttribute' => 'id', 'skipOnEmpty' => true], [['parent_id'], 'default', 'value' => 0], change the order of rules: [['parent_id'], 'integer'], [['parent_id'], 'exist', 'targetAttribut ...

YII2如何为文件类型添加自定义验证规则(YII2 How to add custom validation rule for file type)

使用wrongExtension属性: [['avatar'], 'file', 'skipOnEmpty' => true, 'extensions' => 'png, jpg ,jpeg', 'wrongExtension'=>'{extensions} files only', 'on'=>'update'] Use wrongExtension property: [['avatar'], 'file', 'skipOnEmpty' => true, 'extensions' => 'p ...

相关文章

更多

最新问答

更多
  • 如何从远程文件拉取文件而不覆盖本地文件?(How do I pull files from remote without overwriting local files?)
  • Reactjs:状态改变时重新渲染iframe(Reactjs: re-renders iframes when state changed)
  • 奇怪的网址,以及跟随php页面流程的困难(odd url, and difficulty in following the php page flow)
  • 标签活动无效(Tab Activity is not working)
  • JavaME合适的语法编译器建议?(JavaME-suitable grammar compiler recommendations?)
  • 指定参数(Specifying arguments)
  • 可以通过Ruby插件或控制台覆盖Sketchup中的键盘快捷键吗?(Can one override keyboard shortcuts in Sketchup through the a Ruby Plugin or Console?)
  • 计算Java EE Web App中用户数的最佳方法(Best way to count number of users in a Java EE web App)
  • 无法使用templateUrl加载cordova中的外部模板(unable to load external templates in cordova with templateUrl)
  • PHPExcel:写入期间无法使用缓存(PHPExcel: Unable to use cache during write)
  • 在javascript中嵌套这个指针(nested this pointer in javascript)
  • 谁跟领航致远培训过,有问题问下啊
  • 控制器要求在入门时下载(Controller ask to download on entry)
  • 未能通过conda安装Asyncio(Failure to install Asyncio via conda)
  • 如何查找已完成项目的总长度?(How to find length of total completed items?)
  • 如何检查OleInitialize是否已被调用?(How to check if OleInitialize has already been called?)
  • SQL在特定范围内返回列中具有最大值的行(SQL Returning rows with max value in column, within a specific range)
  • preg_match从url获取id(preg_match get the id from url)
  • 如何在运算符中为make方程转换perl变量?(How to convert a perl variable in a operator for make equations?)
  • 在导航上方添加空格/标题。(Add a white space/ header above navigation.)
  • MeetingItem已保存;(MeetingItem saved; but change now shown in Calendar)
  • c#vb:我们应该使用System.Lazy进行资源密集型任务吗?(c# vb: Should we use System.Lazy for resource-intensive task? (when threading is not needed))
  • 为什么在armeabi代码中使用armeabi-v7a代码?(Why use armeabi-v7a code over armeabi code?)
  • 获取请求的自定义标头(Java HTTP)(Fetching a custom header of a request (Java HTTP))
  • 是否可以在嵌套的if语句中从varchar转换为numeric以动态评估参数?(Is it possible to convert from varchar to numeric within a nested if statement in order to dynamically evaluate a parameter?)
  • 如何将Html.ActionLink转换为链接到Ajax调用的按钮?(How to convert from Html.ActionLink to a button linked to Ajax call?)
  • 应用程序如何处理Windows符号链接?(How are Windows symbolic links treated by the apps?)
  • html,js,css在jsfiddle中工作,但不在sharepoint中(html, js, css works in jsfiddle but not in sharepoint)
  • 从Ruby脚本调用Elasticsearch Rest API(Calling Elasticsearch Rest API from Ruby script)
  • 如何将嵌套setTimeouts转换为承诺(How to convert nested setTimeouts to promises)