热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SugarCRM6.5CE如何使用ajax正确验证表单数据?-SugarCRM6.5CEhowtoproperlyvalidateformdatausingajax?

Ineedtocheckfieldphone_mobileforduplicateintodatabase.Iffieldvalueisnotaduplicateth

I need to check field phone_mobile for duplicate into database. If field value is not a duplicate then continue saving. And if such phone already exists in database, then show the alert message and stop process(form submittion).

我需要在数据库中检查字段phone_mobile是否重复。如果字段值不是重复的,那么继续保存。如果这样的电话已经存在于数据库中,那么显示警报消息并停止进程(表单提交)。

My actions:

我的行为:

In the file ./modules/Contacts/metadata/editviewdefs.php connected custom js file:

在文件中。/模块/联系人/ / editviewdefs元数据。php连接自定义js文件:

$viewdefs['Contacts']['EditView'] = array(
'templateMeta' => array(
    'includes' => array (
            array (
                'file' => 'custom/include/Javascript/custom_contact.js'
            ),
        ),
    'form'=>array(
    ...

Works great.

伟大的工作。

In custom_contact.js file overload check_form(formname) function:

在custom_contact。js文件重载check_form(formname)函数:

function check_form(formname)
{
    if(formname === 'correct')
    {
       // This part does not work right for me
        var _form = document.getElementById('EditView');
        _form.action.value='Save'; 
        SUGAR.ajaxUI.submitForm(_form);
        return false;
    }
    if(formname === 'EditView')
    {
        // Ajax query works perfectly
        $.ajax({
            url : '/',
            method : 'POST',
            data : {},// some data
            success : function(data) {
                data = JSON.parse(data);
                if(!data.success)
                {
                    var text = 'The phone already exists';
                    return false;
                }
                check_form('correct');
            }
        });
    }
    return false;
}

But the if(formname === 'correct') ... block does not work correctly.

但是if(formname === 'correct')…块不能正确工作。

I need to stop the work of the form_save and include when necessary.

我需要停止form_save的工作,并在必要时包含它。

Please help to solve the problem correctly.I'm new to SugarCRM.

请帮助正确地解决这个问题。我新到SugarCRM。

2 个解决方案

#1


1  

This is something related to javsacrip/jquery error handling and you can find many logics on google as well.

这是与javabp /jquery错误处理相关的,您也可以在谷歌上找到许多逻辑。

Try following code:

尝试以下代码:

// DOM Ready 
$('input#PHONE_FIELD_ID').on('change', function () {      
    handlePhoneValidation();
    return false;
});

 var clickAttr = $("#SAVE_BUTTON_ID").attr("onclick"); 
 $("#SAVE_BUTTON_ID").attr("onclick","return handlePhoneValidation(); "+clickAttr);


function handlePhoneValidation(){

    clear_all_errors();

    var node = $('input#PHONE_FIELD_ID');
        current_val = node.val();

   /*
    * Your validation will go here
    * if condition fail then return false otherwise true 
   */

    return false;
}

#2


1  

I resolved this another way

我用另一种方法解决了这个问题

./custom/modules/Module_name/metadata/editviewdefs.php

$viewdefs ['Accounts'] = [
    'EditView' => [
        'templateMeta' => [
            'form'                => [
                'includes'            => [
                 [
                     // include custom js file
                     'file' => 'modules/Module_name/file_name.js'
                 ],
                'buttons' => [
                    // Override save button and return after click custom function
                    0 => array (
                        'customCode' => '',
                    ),
                    'CANCEL',

After

modules/Module_name/file_name.js:

模块/ Module_name / file_name.js:

// Function check_custom_data() :

function check_custom_data(formname)
{
    if(formname === 'correct')
    {
        var _form = document.getElementById('EditView');
        _form.action.value='Save';
        SUGAR.ajaxUI.submitForm(_form);
        return check_form('EditView');
    }
    if(formname === 'EditView')
    {
        $.ajax({
            url : '/',
            method : 'POST',
            data : { }, // Some data
            success: function(data) {
                data = JSON.parse(data);
                if(!data.success)
                {
                    // Some code
                    return false;
                }
            }
            // If everything is ok
            check_custom_data('correct');
        }
    });
    return false;
}

This working for me.

这为我工作。


推荐阅读
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • 在JavaScript中,函数没有重载的概念,如果声明了多个重名的函数,不管函数的形参个数是否一样,只有最后一个有效。如果调用函数时传入的参数个数与函数定义时的参数个数不符,会出现不同的情况。函数调用时,传入的参数个数少于函数定义时的参数个数,未传入的参数会被当做undefined处理,可能会导致错误。而传入的参数个数多于函数定义时的参数个数,多余的参数不会被使用,但不会报错。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
author-avatar
蘑菇雪雪_585
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有