标签: yii

Yii Framework 2.0规则日期验证器

我正在使用Yii Framework 2.0.我有一个带有文本输入字段的表单,用于表示日期.我已经阅读了有关类yii\validators\Validator的Yii Framework 2.0 以及已知的所有验证器密钥,这些密钥可以在模型类的rules()方法中使用.当我使用如下的日期键时,它不会验证任何内容.这意味着我仍然可以在该输入字段中放置一些文本并可以发布表单.

当我将其更改为布尔值电子邮件时,我可以看到,当我在输入字段中输入错误时,它会很好地验证.如何使用Yii Framework 2.0验证输入字段内的日期值?

我的rules()方法:

public function rules()
{
    return [
         [['inputfield_date'], 'required'],
         [['inputfield_date'], 'safe'],
         [['inputfield_date'], 'date'],
    ];
}
Run Code Online (Sandbox Code Playgroud)

我的观点页面:

<?php $form = ActiveForm::begin(); ?>
     <?= $form->field($model, 'inputfield_date')->textInput(); ?>
<?php ActiveForm::end(); ?>
Run Code Online (Sandbox Code Playgroud)

php validation date yii yii2

14
推荐指数
3
解决办法
4万
查看次数

重复密码在Yii2中不起作用

我在模型中写了规则:

    public $password_repeat;

/**
 * @inheritdoc
 */
public function rules()
{
    return [
        ....
        ....  
        ['password', 'required'],
        ['password', 'string', 'min' => 6],
        ['password_repeat', 'compare', 'compareAttribute'=>'password', 'message'=>"Passwords don't match" ],
    ];
}
Run Code Online (Sandbox Code Playgroud)

如果我使用不同的密码PasswordPassword Repeat领域,它提供了错误.所以,这意味着它有效.但问题是,如果Password Repeat字段为空,它不会给出任何错误.

php yii yii2

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

如何检查包含路径下是否存在文件?

您可以使用PHP获取当前包含路径 get_include_path()

我想知道什么是轻量级方法来检查是否可以包含文件而不发出PHP错误.我正在使用Yii框架,我想导入而不发出PHP错误,但我失败了.

php yii

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

Yii用于控制控制器下所有动作的神奇方法

突击队需要你的帮助.

我在Yii有一个控制器:

class PageController extends Controller {
    public function actionSOMETHING_MAGIC($pagename) {
        // Commando will to rendering,etc from here
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要在Yii CController下使用一些神奇的方法来控制/ page ||下的所有子请求 页面控制器.

这是Yii的某种可能吗?

谢谢!

php yii magic-methods yii-components

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

Yii,在cgridview中显示不同的日期格式

我在Yii应用程序中跟随cgridview,我想更改日期格式的值,

'columns'=>array(
        array(
                'name'=>'Date',
                'header'=>'Date',
                'value'=>'$data["work_date"]'
            ),
Run Code Online (Sandbox Code Playgroud)

我想以格式dd-mm-yyyy显示日期,目前显示为yyyy-mm-dd.

php yii

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

Yii只选择数组中的指定属性

我经常遇到这个问题..

让我们说..在博客应用程序中,我需要通过电子邮件发送所有活跃用户..

我所做的是在用户上写一个findAll,其上一次登录的条件大于某个值...并获取所有用户对象...然后通过所有用户模型对象运行foreach并将数据存储在一个数组中,然后使用数组..

换句话说,后端正在发生的事情是我正在加载整个模型,而我只需要0.5%那些信息,然后运行一个脏代码来获取数组中的值,然后用它来处理..

性能和脏代码不是很糟糕..

现在我能想到的其他方法是使用commandBuilder和编写查询,然后运行相同的脏代码来获取数组中的值.解决了性能问题.但是正如人们所说的在mvc框架中编写sql,并不是一个好主意.

我真正想要的...一些类似的函数,如果它是一个列,则给出数组中的列值,或者如果有多列,则将列名作为索引的数组.

所以我想要做的是通过扩展ActiveRecord或类似的东西来实现它,我想要检查的是,是否有人已经实现了类似的东西,或者有一些想法... :)

php activerecord yii

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

Yii:如何计算模型中的记录?

我有以下代码从模型中获取数据.

$notifyModel = Notification::model()->findByAttributes(array(
                  'user_id'=> Yii::app()->user->uid
               ));
Run Code Online (Sandbox Code Playgroud)

现在我想计算提取的行数.无论是$notifyModel->count()工作还是工作count($notifyModel).这很简单,但谷歌搜索没有帮助.

php yii

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

在jquery中禁用并启用提交按钮

我正在使用jquery来禁用提交按钮并加载加载图像,

在提交按钮我正在使用下面的内容:

<div id="registerbtn" name="registerbtn">
<input type="submit" class="btn btn-primary" icon="ok white" value="Register" id="register" name="register"/>
</div>
<div class="span4" style="display:none;" id="loadingtext">
                            <?php echo  $imghtml=CHtml::image('images/loading.gif');?>                      
                        </div>
Run Code Online (Sandbox Code Playgroud)

在JQuery中,我使用以下代码:

$(document).ready(function() {

    $('#register').click(function() {
        $('input[type="submit"]').attr('disabled','disabled');

     });
        $("#loadingtext").show();
    });
});
Run Code Online (Sandbox Code Playgroud)

当我这样做,然后永久禁用此按钮,但如果我想删除那么我该怎么办?

html css jquery yii

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

yii2中的model-> attributes始终具有NULL值

我有一个临时模型作为viewModel.在我的CRUD操作(例如actionCreate)中,我想获取此viewModel数据并将其分配给ActiveRecord模型.我使用下面的代码但我的模型对象atrribute总是显示属性的NULL值:

$model = new _Users();
if ($model->load(Yii::$app->request->post())) {
    Yii::info($model->attributes,'test'); // NULL
    $attributesValue =[
            'title' => $_POST['_Users']['title'],
            'type' => $_POST['_Users']['type'],
        ];
    $model->attributes = $attributesValue;
    Yii::info($model->attributes,'test'); // NULL

    $dbModel = new Users();
    $dbModel->title = $model->title;
    $dbModel->type = $model->type . ' CYC'; // CYC is static type code
    Yii::info($dbModel->attributes,'test'); // NULL

    if ($dbModel->save()) {
            return $this->redirect(['view', 'id' => $dbModel->id]); // Page redirect to blank page
        }
}
else {
        return $this->render('create', [
            'model' => $model,
        ]);
}
Run Code Online (Sandbox Code Playgroud)

我认为$ model-> load(Yii :: $ …

php yii yii-extensions yii2

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

使用CamelCase操作名称时的Yii2路由

如果你说了以下控制器结构

<?php
namespace app\controllers;

use Yii;
use yii\web\Controller;
/**
 * Test controller
 */
class TestController extends Controller
{
    public function actionMyaction(){
       ...
       //action logic
    }

    public function actionMyAction(){
       ... 
      //action logic
    }
}
Run Code Online (Sandbox Code Playgroud)

可以使用路径访问第一个路径 example.com/test/myaction

每个Yii 1.x逻辑的第二个路由应该可以从example.com/test/myAction Yii2.x中的路径访问,路由使用带连字符的结构,并且只能从example.com/test/my-action

无论如何在Yii2中使用camelCase结构启用路由,最好不要使用路由类扩展?

这很重要,因为它打破了所有链接(当然是互联网上的所有链接)向后兼容性,因此即使代码被完全重写,Yii1.x应用也永远无法迁移到Yii2.x. 这种变化的原因是什么?

php url-routing yii yii2

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