我们试图制作 notes (with file upload)通过应用表单验证必填字段。
我们尝试使用的选项是 client side javascripting .到目前为止,还不错...
问题是在“事件处理程序”选项卡下:
注意事项
实体未列在控制项中
因此很明显,Notes
实体没有客户端事件。
如何对 Notes
实体字段应用 REQUIRED FIELD 验证?
最佳答案
您想要执行的验证无法在父记录中执行。它必须以笔记的形式进行验证,但我们已经讨论过笔记实体不是完全可定制的,我们还必须记住社交 Pane 及其特殊性。
我认为验证这一点的最佳方法是在笔记的创建事件(预验证阶段)中创建一个插件,以检查正在创建的笔记是否已完成必填字段。
快速示例(我还没有测试过):
public class ValidateNote : IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity) {
Entity note = (Entity)context.InputParameters["Target"];
// you can also use "subject" instead of "description"
if (string.IsNullOrEmpty(note.GetAttributeValue<string>("description")) || string.IsNullOrEmpty(note.GetAttributeValue<string>("filename")))
{
throw new InvalidPluginExecutionException("Please add an attachment and description");
}
}
}
}
关于javascript - 如何在 Notes 实体字段上应用 REQUIRED FIELD 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40039575/