gpt4 book ai didi

javascript - 在 Yii 上使用 JavaScript 进行验证

转载 作者:行者123 更新时间:2023-12-03 11:45:55 27 4
gpt4 key购买 nike

我想在我的密码创建表单中添加一些 JavaScript 验证。

我有以下 JavaScript

function Validation(){
var password = document.getElementById('password').value;
var error = document.getElementById('error');

if((/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]+$/).test(password) == false){
error.html('error');
}
}

我的 _form.php 中有以下代码用于创建用户

<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'users-form',
'htmlOptions'=>array('onsubmit'=>'return Validation()'),
// Please note: When you enable ajax validation, make sure the corresponding
// controller action is handling ajax validation correctly.
// There is a call to performAjaxValidation() commented in generated controller code.
// See class documentation of CActiveForm for details on this.
'enableAjaxValidation'=>false,
)); ?>

<p class="note">Fields with <span class="required">*</span> are required.</p>

<?php echo $form->errorSummary($model); ?>

<div class="row">
<?php echo $form->labelEx($model,'username'); ?>
<?php echo $form->textField($model,'username',array('size'=>20,'maxlength'=>20)); ?>
<?php echo $form->error($model,'username'); ?>
</div>

<div class="row">
<?php echo $form->labelEx($model,'password'); ?>
<?php echo $form->passwordField($model,'password',array('size'=>60,'maxlength'=>255)); ?>
<?php echo $form->error($model,'password'); ?>
</div>

<div class="row buttons">
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>
<div id="error">

</div>

<?php $this->endWidget(); ?>

现在我确实导入了脚本,即使我放置了一个简单的警报('hello'),当我按创建时它也不起作用。

此外,我知道验证无法正常工作,因为我正在对密码进行哈希处理。我如何在它变成散列之前对其进行验证。

最佳答案

你可以通过两种方式做到这一点

1) 使用表单 htmlOptions

<?php Yii::app()->clientScript->registerScript('someScript', "

validate = function(){

alert("Your Validation Function");
return false;
}

");
?>
<?php $form=$this->beginWidget('CActiveForm', array(
'id' => 'user-form',
'enableAjaxValidation' => false,
'htmlOptions' => array(
'onsubmit'=>"return validate();",
),
)); ?>

2) 使用Jquery提交方法

<?php Yii::app()->clientScript->registerScript('someScript', "

$('#user-form').submit(function() {
alert("Your validation");
});


");
?>
<?php $form=$this->beginWidget('CActiveForm', array(
'id' => 'user-form',
'enableAjaxValidation' => false,
)); ?>

关于javascript - 在 Yii 上使用 JavaScript 进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26045722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com