Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Welcome to ValidateThis

A Validation Framework for ColdFusion Objects

ValidateThis is a framework that allows you to define validation rules for your ColdFusion objects (or simple structs) in a single place (either an XML file, a JSON file or in ColdFusion code) and will then generate client-side and server-side validations for you.

Getting Started

  1. Download the ValidateThis current stable release, which includes the framework and all demo code.
  2. Check out the ValidateThis Quick-Start Guide (archived on
  3. Refer to the following useful resources.



You are encouraged to contribute to ValidateThis, and there are a variety of ways to help:

Code Contributions

The ValidateThis development list is a good place to ask questions or discuss large changes before coding. Please also review the following sections concerning Git configuration to deal with line endings and the Git workflow model used by this project.

Dealing with Line Endings

As recommended by this GitHub Help page, we ask that all ValidateThis developers set their Git core.autocrlf setting accordingly.

Linux and Mac OS X:

git config --global core.autocrlf input


git config --global core.autocrlf true

If you do not want to set core.autocrlf globally, you can set it as a repository option by changing to your ValidateThis clone directory and running one of the above commands without the --global option. For example:

cd ~/Projects/ValidateThis
git config core.autocrlf input

Git Workflow

The git repo's develop branch is used as the primary development branch. The master branch will always be the current stable release. When finalizing a release, a release branch will be used (e.g., release-0.99). The Git workflow employed for ValidateThis development is nicely detailed in this blog series, by Bob Silverberg, A Git Workflow for Open Source Collaboration:

Here's a very brief look at the git commands used for an example code contribution:

# Fork [ValidateThis]( (if not already done).

# Clone your fork (if not already done):
git clone

# Add main repo as "upstream" remote:
git remote add upstream git://

# Create/checkout a local feature branch:
git checkout -b myFeatureBranch develop

# Hack, commit, squash (if needed), etc.

# Rebase on upstream "develop" branch before merging:
git pull --rebase upstream develop

# Merge your change and push to your fork:
git checkout develop
git merge --no-ff myFeatureBranch
git push origin develop

# Delete your feature branch:
git branch -d myFeatureBranch

# Send pull request.


ValidateThis is released under the Apache License, Version 2.