forked from ServiceStack/ServiceStack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathValidationErrorResult.cs
More file actions
128 lines (115 loc) · 3.65 KB
/
ValidationErrorResult.cs
File metadata and controls
128 lines (115 loc) · 3.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
using System;
using System.Collections.Generic;
using ServiceStack.Common.Extensions;
namespace ServiceStack.Validation
{
/// <summary>
/// Encapsulates a validation result.
/// </summary>
public class ValidationErrorResult
{
public static ValidationErrorResult Success
{
get
{
return new ValidationErrorResult();
}
}
/// <summary>
/// Gets or sets the success code.
/// </summary>
/// <value>The success code.</value>
public string SuccessCode
{
get;
protected set;
}
/// <summary>
/// Gets or sets the error code.
/// </summary>
/// <value>The error code.</value>
public string ErrorCode
{
get;
set;
}
/// <summary>
/// Gets or sets the success message.
/// </summary>
/// <value>The success message.</value>
public string SuccessMessage { get; set; }
/// <summary>
/// Gets or sets the error message.
/// </summary>
/// <value>The error message.</value>
public string ErrorMessage { get; set; }
public virtual string Message
{
get
{
return Errors.Count > 0 ? ErrorMessage : SuccessMessage;
}
}
/// <summary>
/// The errors generated by the validation.
/// </summary>
public IList<ValidationErrorField> Errors
{
get;
protected set;
}
/// <summary>
/// Returns True if the validation was successful (errors list is empty).
/// </summary>
public virtual bool IsValid
{
get
{
return this.Errors.Count == 0;
}
}
/// <summary>
/// Constructs a new ValidationResult
/// </summary>
public ValidationErrorResult()
: this(new List<ValidationErrorField>())
{
}
/// <summary>
/// Constructs a new ValidationResult
/// </summary>
/// <param name="errors">A list of validation results</param>
public ValidationErrorResult(IList<ValidationErrorField> errors) : this(errors, null, null) { }
/// <summary>
/// Initializes a new instance of the <see cref="ValidationErrorResult"/> class.
/// </summary>
/// <param name="errors">The errors.</param>
/// <param name="successCode">The success code.</param>
/// <param name="errorCode">The error code.</param>
public ValidationErrorResult(IList<ValidationErrorField> errors, string successCode, string errorCode)
{
this.Errors = errors ?? new List<ValidationErrorField>();
if (successCode != null)
{
this.SuccessCode = successCode;
this.SuccessMessage = successCode.SplitCamelCase();
}
if (errorCode != null)
{
this.ErrorCode = errorCode;
}
else
{
if (this.Errors.Count > 0)
{
this.ErrorCode = this.Errors[0].ErrorCode;
this.ErrorMessage = this.Errors[0].ErrorMessage;
}
}
if (this.ErrorMessage == null && this.ErrorCode != null)
{
this.ErrorMessage = this.ErrorCode.ToEnglish();
}
}
}
}