Comments (3)
As a starting point you might try to reproduce in the demo app? It seems like it should Just Work.
from aspnet-client-validation.
@dahlbyk - I have tried to do just that but that also fails.
Added the following to Checkboxes.cshtml.cs
public class InputModel
{
[Required] // <- added this
public bool IsChecked { get; set; }
}
Result:
Recording.2023-10-13.204318.mp4
from aspnet-client-validation.
For anyone interested, I solved this way:
model:
public class ContactFormModel
{
[Required]
public string Name { get; set; }
[Required]
public string Email { get; set; }
[Required]
public string Message { get; set; }
[EnforceTrue] // notice this custom dataattribute
public bool AcceptTerms { get; set; }
public string Phone { get; set; }
}
EnforceTrueAttribute.cs:
public class EnforceTrueAttribute : ValidationAttribute, IClientModelValidator
{
public override bool IsValid(object value)
{
if (value == null) return false;
if (value.GetType() != typeof(bool)) throw new InvalidOperationException("can only be used on boolean properties.");
return (bool)value;
}
public void AddValidation(ClientModelValidationContext context)
{
MergeAttribute(context.Attributes, "data-val", "true");
MergeAttribute(context.Attributes, "data-val-enforcetrue", "this is required");
}
private void MergeAttribute(IDictionary<string, string> attributes,
string key,
string value)
{
if (attributes.ContainsKey(key))
{
return;
}
attributes.Add(key, value);
}
}
javascript for client-side validation
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/aspnet-validation.min.js" integrity="sha256-YhPSMdgpaezx88YOmwT4iX+obLI+90odW6zX90RqivI=" crossorigin="anonymous"></script>
<script>
const v = new aspnetValidation.ValidationService();
v.bootstrap({ watch: true });
v.addProvider('enforcetrue', (value, element, params) => {
return element.checked;
});
</script>
from aspnet-client-validation.
Related Issues (20)
- Disabling validation HOT 6
- How to use with Razor Pages, i.e. using PageRemote attribute and not Remote attribute? HOT 1
- Latest bits are not in dist folder nor jsdelivr HOT 2
- The isValid method throws if the form does not contain any validation attributes HOT 3
- Custom validator for "differs to" HOT 5
- Rescanning dynamic inputs does not detect that they are new HOT 3
- Initial isFieldValid returns true when field is empty and uses required validator. HOT 5
- Required validator differs from MVC validation in allowing bypass by using spaces in value. HOT 7
- Docs for remove validation feature
- Add CDN to documentation HOT 4
- isFieldValid not working as expected if prevalidate is false HOT 10
- Calling `validateForm` submits the form in Firefox
- razor pageremote type=post HOT 1
- [Q] Reparse form without using `watch:true` MutationObserver HOT 2
- [Bug] Checkbox validation does not work (verified in demo app) HOT 2
- Should not validate disabled fields HOT 9
- Option to ignore particular fields HOT 1
- Do not validate immediately HOT 4
- Purpose of debounce HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aspnet-client-validation.