在zend framework 2中使用jquery进行电子邮件验证

在zend framework 2中使用jquery进行电子邮件验证,jquery,validation,email,zend-framework2,Jquery,Validation,Email,Zend Framework2,查看文件: email: { required: true, email: true, remote: { url: 'deforay/admin/login/emailcheck', type: 'POST', data: {

查看文件:

    email: {
          required: true,
                    email: true,
                     remote: {
                        url: 'deforay/admin/login/emailcheck',
                        type: 'POST',
                        data: {
                          mail: function(){ return $("#email").val(); }
                        }
                    }
    }

messages:
{
email: {
                    required: "Please provide a email-id",
                    email: "Please provide a valid email-id",
                    remote: "Mail-id already exist"
}
}
控制器:

public function emailcheckAction() {

    if ($this->getRequest()->isPost()) {
        $param = $this->getRequest()->getPost();
        $service = $this->getServiceLocator()->get('CompanyService');
        $result = $service->getEmail($param['mail']);
    }

    if ($result) {
        $value = false; //'Email already exists';
    } else {
        $value = true;
    }

    $email = $this->getResponse()->setContent(Json::encode(array('response' => $value)));
    return $email;
}
}

数据库表:

public function getEmail($param) {
        $dbadapter = $this->adapter;
        $sql = new Sql($dbadapter);
        $select = $sql->select();
        $select->columns(array('email'));
        $select->from('company');
        $select->where(array('email' => $param));

        $selectString = $sql->getSqlStringForSqlObject($select);
        $results = $dbadapter->query($selectString, $dbadapter::QUERY_MODE_EXECUTE);
        if (count($results) > 0) {
            $results = $results->current()->getArrayCopy();
            $response['status'] = 'exist';
            $response['email'] = array('email' => $results['email']);
        }
        if ($response) {
            return $response;
        }
    }

问题出在哪里,当我使用调试进行检查时,我在控制器中得到了响应,但没有得到正确的答案(“邮件id已存在”,如果我键入现有的邮件id,则不会显示)

很难说,因为您没有提供公司服务的getEmail方法的功能,如果找不到电子邮件,它是否会返回null?正确答案是什么意思?总是正确的还是错误的,或者只是不一致。这也太棒了,你应该用它来代替我现在添加的细节