我有一个我创建的ValidationAttribute,它在Server和Client之间共享.为了在数据助手类中引用时将验证属性正确生成到客户端,我必须非常具体地构建它.
我遇到的问题是,由于某种原因,当我从自定义验证属性类返回ValidationResult时,它的处理方式与客户端UI上的其他验证属性不同.而不是显示错误,它什么都不做.它会正确验证对象,但它不会显示失败的验证结果.
下面是我的一个自定义验证类的代码.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
namespace Project.Web.DataLayer.ValidationAttributes
{
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
public class DisallowedChars : ValidationAttribute
{
public string DisallowedCharacters
{
get
{
return new string(this.disallowedCharacters);
}
set
{
this.disallowedCharacters = (!this.CaseSensitive ? value.ToLower().ToCharArray() : value.ToCharArray());
}
}
private char[] disallowedCharacters = null;
private bool caseSensitive;
public bool CaseSensitive
{
get
{
return this.caseSensitive;
}
set
{
this.caseSensitive = value;
}
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext) …Run Code Online (Sandbox Code Playgroud) validation silverlight binding wcf-ria-services validationattribute
我在 FedEx 网站上有测试密钥、帐号和密码。
我试图测试 FedEx API,但我不知道我可以在网站上哪里进行测试。
我找不到任何测试菜单。我检查了我的电子邮件,我收到了带有测试 URL 的通知。
我点击了网址,只出现了源代码。
我也在网站上下载了一些源文件。
我想知道是否需要将我从网站上获得的信息放入源代码中。
或者,有什么我可以测试的吗?我在哪里可以找到它?
我正在尝试使用backgroundworker(bgFileOpener)将openFileDialog打开的文件读入richTextBox(称为websiteInput_rtxt).
private void bgFileOpener_DoWork(object sender, DoWorkEventArgs e)
{
try
{
foreach (var file in openFileDialog1.FileNames)
{
using (StreamReader sreader = new StreamReader(file))
{
// while the stream reader didn't reach the end of the file - read the next line and report it
while (!sreader.EndOfStream)
{
if (bgFileOpener.CancellationPending)
{
e.Cancel = true;
return;
}
bgFileOpener.ReportProgress(0, sreader.ReadLine() + "\n");
Thread.Sleep(15);
}
}
}
}
catch (Exception) { }
}
private void bgFileOpener_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
websiteInput_rtxt.AppendText(e.UserState.ToString());
}
Run Code Online (Sandbox Code Playgroud)
当表格在bgWorker仍在运行时关闭时,会抛出一个似乎没有被捕获的异常,有人可以告诉我缺少什么或可能导致异常的原因吗?
异常消息称为"System.Reflection.TargetInvocationException",而innerException则表示有关RichTextBox的内容.
我正试图找到一种方法来使用Toastr向用户显示错误,因为我的应用程序中出现异常或错误.我遇到的问题似乎表明,使用Toastr在当前视图中显示的Controller或数据访问层中发生异常是不可能的.
我想知道你们中是否有人遇到过这种情况以及你们的解决方案是什么?
我想要完成的是,任何时候有一个未处理的异常,或者有人手动处理异常,我们就能够在不中断工作流的情况下向用户显示错误.Toastr被建议给我,但完全是javascript我不确定在我的MVC4应用程序中实现它的最佳方法.
我正在探索的一个选项是设置我的默认索引控制器来处理传入的错误字符串,以便我可以从Global.asax.cs中的Application_Error方法重定向到它,以便提供友好的重定向,然后如果传入string不为null然后我可以在Index视图上使用toastr.然而,这并不理想,因为它需要重定向,并且会中断工作流程.此外,它不允许我显示错误,而不必抛出异常或在javascript中执行我的所有错误处理.
其他重要信息是我们正在使用Telerik Kendo UI和Razor Syntax,如果这对我有任何帮助.
api ×1
binding ×1
c# ×1
fedex ×1
javascript ×1
logging ×1
silverlight ×1
toastr ×1
validation ×1