我一直在努力实现Stack Overflow问题中的问题,在这里:
Calculation for status in Archer GRC based on date
尝试根据多个值列表创建状态字段 用户选择,但已请求我们检查日期 一个值的字段,以确保已设置估计日期,以便 计算可以确定记录的状态是否为" In 进步","晚"或"未开始"。
...现在,我需要某种实际的弹出警告消息,以提示用户确保日期字段不为空。
我如何添加此功能?
答案 0 :(得分:1)
为了提供您正在寻找的功能,您必须使用"自定义对象"。它是您在Archer中包含JavaScript代码的应用程序布局的对象。加载应用程序的表单后,将立即执行此代码。有一种特殊类型的字段"自定义对象"可以在布局编辑器中找到Archer中Application Builder中每个应用程序。
注意 - 我不建议一般使用自定义对象,也不建议使用RSA支持。每次修改给定应用程序中的布局时,都需要重新测试,有时还会更正自定义对象的ID。您可以编写ID独立的自定义对象并使用字段名称,但在这种情况下,自定义对象将具有更多代码。我更喜欢让自定义对象尽可能短。
您的自定义对象应执行以下操作:
这是一个可以开始的代码模板:
<script type="text/javascript">
// ids are used to locate buttons
var buttons_ids = [
"master_btnSave", // "Save" button ID
"master_btnApply" // "Apply" button ID
];
// parameters are used in the "onclick" default handlers to call original handlers
var buttons_parameters = [
"master$btnSave", // "Save" parameter
"master$btnApply" // "Apply" parameter
];
document.getElementById(buttons_ids[0]).onclick = function(){ Validator_of_required_fields(buttons_parameters[0])};
document.getElementById(buttons_ids[1]).onclick = function(){ Validator_of_required_fields(buttons_parameters[1])};
// end of the script body
//==== Validator function attached to Save and Apply buttons
function Validator_of_required_fields(parameter){
// ids of the input fields to validate
var inputs_to_validate_ip_address = [ "master_DefaultContent_rts_XXX_YYY_t" ];
// jQuery selector is used here. Archer v5.x has jQuery library loaded by default
// you will need to modify this selector
var field_value = $('#'+inputs_to_validate_ip_address[0]+':first').val();
if(field_value.length = 0) {
// Here you are calling Archer Warning function
var msg = "[Text to display to user]";
var title = 'Required Field';
WarningAlert(msg,title);
return false;
};
// default onclick processor
ShowAnimationAndPostback(parameter);
return false;
};
对此代码的一些评论:
document.getElementById(buttons_ids[0]).onclick = function(){ bla, bla, bla }
WarningAlert(msg,title);
是内置的Archer警告消息函数。它在Archer v5.4中运行良好。如果WarningAlert在您的Archer版本中不起作用,您可能需要使用简单的JavaScript Alert功能。Flak,确保测试你的自定义对象并祝你好运!