public function confirm() {
56 $email = $_POST['email'];
57 $pwd = $_POST['pwd'];
58 $repwd = $_POST['repwd'];
59 $nickname = $_POST['nickname'];
60 $sex = $_POST['sex'];
61 $blood = $_POST['blood'];
62 $year = $_POST['year'];
63 $month = $_POST['month'];
64 $day = $_POST['day'];
65 $error = array();
66 //验证E-MAIL地址
67 if($email == ''){
68 $error['checkemail'] = 'email不能为空!';
69 } else if(!ereg("^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$",$email)){
70 $error['checkemail'] = 'E-mail地址格式错误!';
71 }
72 //验证密码
73 if($pwd == ''){
74 $error['checkpwd'] = '密码不能为空';
75 }else if (!preg_match("/^(?=.*[a-zA-Z])(?=.*\d).{6,9}$/",$pwd)){
76 $error['checkpwd'] = '密码最短为六位且至少包含一个英文字母。';
77 }else if ($pwd !== $repwd){
78 $error['checkpwd'] = '两次输入密码不同';
79 }
80 //其他验证
81 if($repwd == ''){
82 $error['recheck'] = '请再输入一遍密码';
83 }
84 if($sex == ''){
85 $error['checksex'] = '请选择';
86 }
87 if(checkdate($day,$month,$year) == 0){
88 $error['checkdate'] = '日期不存在。';
89 }
90 if($blood == ''){
91 $error['checkblood'] = '请选择';
92 }
93 if($nickname == '') {
94 $error['checknickname'] = '请输入昵称。';
95 }
96 if(!empty($error)){
97 $this->smarty->assign($error);
98 $this->smarty->assign($_POST);
99 $this->smarty->display('entry.tpl');
100 }else{
101 $this->smarty->assign($_POST);
102 $this->smarty->display('entry_confirm.tpl');
103 }
分开写的话,每次都要赋值很麻烦,对OOP的使用和理解不是很好,请求大神们给点意见。
代码没有冗余的,只是把接收数据和验证的过程放一个函数里做就行了。
######新手不要在细节上纠结,否则很容易搞的自己失去信心,爱怎么干就怎么干,只要完成功能就行,又不是绣花,纠结什么,工作几年后再说,
######同意######楼上说得很对,非要简化的话可以从验证环节入手,比如,给每一个标签加上验证消息、验证模式等属性,如:
<input type="text" v-msg="请输入用户名" v-regex="^[a-z]{0,9}$"/>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。