69 lines
2.3 KiB
PHP
69 lines
2.3 KiB
PHP
<?php
|
|
|
|
|
|
namespace app\validate\certification\buyer;
|
|
|
|
|
|
use diditao\common\base\BaseValidate;
|
|
|
|
class Add extends BaseValidate
|
|
{
|
|
protected $exceptionKey = 'buyer certification validate failed';
|
|
protected $rule=[
|
|
'id_card_id'=>'require|integer',
|
|
'buyer_photo_id'=>'require|integer',
|
|
'bank_district_id'=>'require|integer',
|
|
'bank_id'=>'require|integer',
|
|
'bank_detail'=>'require|chsAlphaNum',
|
|
'bank_num'=>'require|isBankNum',
|
|
'true_name'=>'require|chs',
|
|
'id_card_num'=>'require|idCard',
|
|
];
|
|
protected $message=[
|
|
'id_card_id.require'=>'请上传身份证扫描件',
|
|
'id_card_id.integer'=>'请上传正确的身份证扫描件',
|
|
'buyer_photo_id.require'=>'请上传手势认证图',
|
|
'buyer_photo_id.integer'=>'请上传正确的手势认证图',
|
|
'bank_district_id.require'=>'请选择银行卡所在地区',
|
|
'bank_district_id.integer'=>'请选择银行卡所在地区',
|
|
'bank_id.require'=>'请选择银行卡开户行',
|
|
'bank_id.integer'=>'请选择银行卡开户行',
|
|
'bank_detail.require'=>'请填写银行卡支行名称',
|
|
'bank_detail.chsAlphaNum'=>'请正确填写银行卡支行名称',
|
|
'bank_num.require'=>'请填写收款银行卡卡号',
|
|
'true_name.require'=>'请填写您的真实姓名',
|
|
'true_name.chs'=>'请正确填写您的真实姓名',
|
|
'id_card_num.require'=>'请填写您的身份证号码',
|
|
'id_card_num.idCard'=>'请正确填写您的身份证号码',
|
|
];
|
|
|
|
protected function isBankNum($value)
|
|
{
|
|
$arr_no = str_split($value);
|
|
$last_n = $arr_no[count($arr_no)-1];
|
|
krsort($arr_no);
|
|
$i = 1;
|
|
$total = 0;
|
|
foreach ($arr_no as $n){
|
|
if($i%2==0){
|
|
$ix = $n*2;
|
|
if($ix>=10){
|
|
$nx = 1 + ($ix % 10);
|
|
$total += $nx;
|
|
}else{
|
|
$total += $ix;
|
|
}
|
|
}else{
|
|
$total += $n;
|
|
}
|
|
$i++;
|
|
}
|
|
$total -= $last_n;
|
|
$x = 10 - ($total % 10);
|
|
if($x == $last_n){
|
|
return true;
|
|
}else{
|
|
return '请输入正确的收款银行卡号';
|
|
}
|
|
}
|
|
} |