在MVC PHP中进行验证 [英] validation in mvc php

查看:67
本文介绍了在MVC PHP中进行验证的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道哪个是最好的? 您认为在控制器中验证user login form或其他形式是否更好,还是在模型中定义一个类(例如安全类")进行验证是否更好? 或定义一些类进行验证? 你知道更好的选择还是好的技术?

I don't know which one is the best? do you think it's better to validate user login form or other forms in controller or it's better to define one class for example 'security class' in model to validation? or define some classes for validation? do you know a better choice or good technique?

<?php
class acontroller{
.
.
.
private function loginformAction()
{
    $this->actionform='loginform';
    $this->errorMsg=array();
    if(isset($post)){
        if(empty($post('aliasName'))){
                       ...
        }else{
           ...
                    }
        if(empty($post('password'))){
                      ...
        }
        if(empty($post('re_password'))){
                      ...   
        }
        if(!empty($post('password')) && isset($post('re_password')) ){
                      ...
        }
    }

    $this->render();
}
  .
  .
  .
 }   

推荐答案

验证是域逻辑的一部分.控制器应该与此无关.它只需要将传入的请求值传递到模型层的适当部分.

Validation is part of the domain logic. Controller should have nothing to do with this. It only has to pass the incoming request values to the proper parts of model layer.

验证本身应在模型层内的域对象中进行.此外,在某些形式中,您还必须担心数据的完整性(即注册表单中的唯一用户名).在那种情况下,数据完整性检查实际上应该由数据映射器处理,实质上是通过传递数据SQL数据库执行检查,如果有违规,则会触发数据库抽象异常.

The validation itself should happen in domain objects within the model layer. Also, in some forms you have to worry about data integrity (i.e. unique usernames in registration form). In that case the data integrity checks actually should be handled by data mappers by, essentially, passing data to SQL database, which performs the check and, if there is a violation, it triggers an exception on DB abstraction.

由于您的问题与身份验证/授权有关,因此您可能会发现这篇文章是相关的.

Since your problems is dealing with authentication/authorization, you might find this post relevant.

这篇关于在MVC PHP中进行验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆